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 $this->assertSelectorTextContains('#twojDIV', 'Witaj Robert'); Metoda jest niezdefiniowana... Nie mogę jej użyć. Kod preg_match( '/<p class="ok">\r\n (Welcome, Robert!)<br>/', (string) $response, $matches ); $this->assertEquals($matches[1], 'Welcome, Robert!'); Takie coś działa, ale nie wygląda to zbyt profesjonalnie. :] PS Zdaje się, że w PHPUnit 9.6 część dawnych metod została usunięta, ale można użyć takie coś: Kod <?php
declare(strict_types=1); namespace App\Tests\Controller; use Symfony\Component\BrowserKit\HttpBrowser; use Symfony\Component\HttpClient\HttpClient; use Symfony\Component\Panther\PantherTestCase; class MainPageControllerTest extends PantherTestCase { public function testMainPageTitleAndForm(): void { $browser = new HttpBrowser(HttpClient::create()); $browser->request('GET', '/'); $response = $browser->getResponse(); $this->assertStringContainsString( '<title>PHP Framework from EEQSOFT</title>', (string) $response ); $browser->clickLink('Polish'); $response = $browser->getResponse(); $this->assertStringContainsString( '<title>PHP Framework od EEQSOFT</title>', (string) $response ); $browser->clickLink('Angielski'); $browser->submitForm('Confirm', ['name' => 'Robert']); $response = $browser->getResponse(); $this->assertStringContainsString( 'Welcome, Robert!', (string) $response ); } } Ten post edytował eerie 22.03.2025, 11:53:01 |
|
|
|
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
eerie CytatJa do tego uzywam Panther
Zainstalowałem Pant... 16.03.2025, 11:09:40
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
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: 27.12.2025 - 23:43 |