• Czas czytania ~1 min
  • 06.07.2022

Pakiet Laravel DOM Assertions autorstwa René Sinnbecka dodaje pomocników asercji Document Object Model (DOM) do klasy LaravelaTestResponse:

Ten pakiet zawiera kilka dodatkowych pomocników asercji do użycia w testach HTTP. Jeśli kiedykolwiek potrzebowałeś większej kontroli nad swoimi twierdzeniami o poglądach niż assertSee, , , assertSeeTextInOrderassertDontSee, assertSeeInOrderassertSeeTexta assertDontSeeText to jest pakiet dla Ciebie.

Plik README pakietu zawiera przykład potwierdzenia menu nawigacyjnego, aby upewnić się, że poprawny li element ma klasęactive, ale także upewnić się, że element "Home" li nie:

$this->get(route('about'))
    ->assertOk()
    ->assertElementExists('nav > ul', function(AssertElement $ul) {
        $ul->contains('li', [
            'class' => 'active',
            'text' => 'About'
        ]);
        $ul->doesntContain('li', [
            'class' => 'active',
            'text' => 'Home'
        ]);
    });

Fragment kodu ilustruje szczegółową kontrolę zapewnianą przez ten pakiet, w tym testowanie elementów DOM, elementów zagnieżdżonych, formularzy i innych. W chwili pisania tego tekstu główne twierdzenia tego pakietu obejmują:

  • Potwierdzaj, czy element istnieje Potwierdź, czy element ma dany atrybut
  • Potwierdź, jeśli element zawiera w innym elemencie
  • Potwierdź, że element nie zawiera innego elementu
  • Znajdź element do przetworzenia dalszych asercji
  • Potwierdź, czy formularz istnieje
  • Potwierdzanie, że formularz ma token
  • CSRF Potwierdź dla wybranych opcji

Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy w witrynie GitHub.You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Na marginesie, kod źródłowy tego pakietu zawiera przykład użycia metody macroable mixin do dodania wielu metod makr do innego obiektu od usługodawcy, co może być pomocną inspiracją dla innych piszących pakiety dla Laravel.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297