Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%)
|
Na co powinienem zwrócić uwagę, pisząc testy w PHPUnit? Co powinienem testować, a czego nie?
Napisałem kiedyś taki test kontrolera w Symfony. Jak przetestować klikanie w linki bez Symfony? Przeglądam pisanie testów w PHPUnit i nie widzę przykładów, jak to zrobić. Podpowiedzcie mi, co powinienem przetestować w mojej aplikacji... (IMG:style_emoticons/default/smile.gif) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%)
|
Cytat Ja do tego uzywam Panther Zainstalowałem Panther Composer'em dla mojego projektu i mam problem. Gdy uruchamiam test w "Wierszu polecania"... Kod php vendor/bin/phpunit tests/ ...wyświetla mi się "General error": Cytat '.' is not recognized as an internal or external command Znalazłem na stackoverflow.com, aby użyć WSL2 "Windows Subsystem For Linux". Z poziomu okna MSYS2 uruchamiam test w PHPUnit... Kod /c/xampp/php/php ./vendor/bin/phpunit tests/ ...i wywala mi ten sam błąd. W czym tkwi problem? Bo użycie Bash'a w WSL nie pomaga i jakiś tam skrypt dalej wyrzuca mi ten błąd pod Windows... :| (IMG:style_emoticons/default/smile.gif) PS W pliku mojego testu MainPageControllerTest.php w linii 21 - wskazywanej jako problematyczna - jest kod: Kod $client->request('GET', '/'); ...i to on przyczynia się do wyświetlenia błędu. Jak go zakomentuję/usunę, to błędu nie ma. Dziwne. (IMG:style_emoticons/default/smile.gif) PS2 Żeby było łatwiej, podaję wersje roboczą tej klasy: Kod <?php declare(strict_types=1); namespace App\Tests\Controller; use Symfony\Component\Panther\PantherTestCase; class MainPageControllerTest extends PantherTestCase { public function testMainPageAndClickPolishLanguageLink(): void { // your app is automatically started using the built-in web server $client = static::createPantherClient(); $client->request('GET', '/'); /* $client = self::createPantherClient([ 'hostname' => '127.0.0.9', // defaults to 127.0.0.1 'port' => 8080, // defaults to 9080 ]); $client->request('GET', '/'); */ // use any PHPUnit assertion, including the ones provided by Symfony... //$this->assertPageTitleContains('PHP Framework from EEQSOFT'); [...] } } PS3 Wydaje mi się, że sprawę rozwiąże użycie Docker'a. Jutro sprawdzę. (IMG:style_emoticons/default/wink.gif) Ten post edytował eerie 16.03.2025, 11:09:59 |
|
|
|
eerie [PHP] Testy jednostkowe w PHPUnit 12.03.2025, 17:57:09
nospor CytatJak przetestować klikanie w linki bez Symfony... 13.03.2025, 10:06:46
nospor Cytatydaje mi się, że sprawę rozwiąże użycie Docke... 17.03.2025, 12:43:50
eerie CytatDaj znac jak ci poszlo z tym docker
Odpaliłe... 17.03.2025, 20:27:16
nospor Nie wiem, nigdy nie widzialem takich problemow. Po... 18.03.2025, 10:05:57
eerie Udało mi się rozwiązać ten problem. Wystarczyło do... 18.03.2025, 19:16:27
nospor No bo nie ma tej metody? 19.03.2025, 08:53:59
eerie Co mam zrobić, aby móc użyć tej metody? W dokument... 19.03.2025, 18:10:09
nospor Sam sobie komplikujesz rzeczy. Poprostu zobacz co ... 20.03.2025, 10:06:49
eerie Udało się... Działa! Napisałem taki test. Ma t... 20.03.2025, 19:33:13
nospor Nie bardzo rozumiem po co uzywasz regexp i szukasz... 21.03.2025, 10:06:59
eerie Cytat$this->assertSelectorTextContains(... 22.03.2025, 11:39:04
nospor CytatMetoda jest niezdefiniowana... Nie mogę jej u... 24.03.2025, 10:03:04 
eerie Cytat(nospor @ 24.03.2025, 10:03:04 )... 24.03.2025, 11:43:05
nospor Ale czemu ty tego szukasz w phpunit?
To jest w Pa... 24.03.2025, 11:50:19
eerie Przeanalizowałem klasę PantherTestCase dla v2.0.0 ... 24.03.2025, 14:21:18
nospor Aha. To by wyjasnialo pare rzeczy 24.03.2025, 14:32:22
eerie Napisałem kilka testów dla klas source'a. Nie ... 14.04.2025, 11:23:15 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 10:11 |