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
, , ,assertSeeTextInOrder
assertDontSee
,assertSeeInOrder
assertSeeText
aassertDontSeeText
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.