Usiłuję uruchomić jedną metodę testową o nazwie testSaveAndDropw pliku escalation/EscalationGroupTest.phpz phpunit. Próbowałem następujących kombinacji: phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=escalation/EscalationGroupTest.php::testSaveAndDrop phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=EscalationGroupTest.php::testSaveAndDrop phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=EscalationGroupTest::testSaveAndDrop phpunit EscalationGroupTest escalation/EscalationGroupTest.php --filter=testSaveAndDrop W każdym przypadku wszystkie metody testowe w pliku escalation/EscalationGroupTest.phpsą wykonywane. Jak zamiast tego wybrać tylko JEDNĄ metodę? Nazwa klasy to, …
Dyskusja na temat Czy testujesz metodę prywatną ma charakter informacyjny. Zdecydowałem, że na niektórych zajęciach chcę mieć metody chronione, ale je przetestuj. Niektóre z tych metod są statyczne i krótkie. Ponieważ większość publicznych metod korzysta z nich, prawdopodobnie będę mógł później bezpiecznie usunąć testy. Ale aby zacząć od podejścia TDD …
Podczas uruchamiania testu PHPUnit chciałbym mieć możliwość zrzucenia danych wyjściowych, aby móc debugować jedną lub dwie rzeczy. Wypróbowałem następujące (podobne do przykładu z podręcznikiem PHPUnit ); class theTest extends PHPUnit_Framework_TestCase { /** * @outputBuffering disabled */ public function testOutput() { print_r("Hello World"); print "Ping"; echo "Pong"; $out = "Foo"; var_dump($out); …
Jak przetestować konkretne metody klasy abstrakcyjnej za pomocą PHPUnit? Spodziewałbym się, że będę musiał stworzyć jakiś obiekt w ramach testu. Chociaż nie mam pojęcia, jaka jest najlepsza praktyka w tym zakresie lub czy PHPUnit na to pozwala.
Mam obiekt makiety PHPUnit, który zwraca 'return value'niezależnie od argumentów: // From inside a test... $mock = $this->getMock('myObject', 'methodToMock'); $mock->expects($this->any)) ->method('methodToMock') ->will($this->returnValue('return value')); Chcę mieć możliwość zwrócenia innej wartości na podstawie argumentów przekazanych do metody mock. Próbowałem czegoś takiego: $mock = $this->getMock('myObject', 'methodToMock'); // methodToMock('one') $mock->expects($this->any)) ->method('methodToMock') ->with($this->equalTo('one')) ->will($this->returnValue('method called …
Jaki jest dobry sposób na stwierdzenie, że dwie tablice obiektów są równe, gdy kolejność elementów w tablicy jest nieistotna lub nawet podlega zmianie?
Zastanawiałem się, czy ktoś, kto ma doświadczenie w obu tych sprawach, może rzucić trochę światła na znaczącą różnicę między nimi, jeśli w ogóle? Jakaś konkretna siła każdego z nich sprawia, że nadaje się do konkretnego przypadku?
PHPUnit zawiera metodę assertEquals: https://phpunit.de/manual/current/en/appendixes.assertions.html#appendixes.assertions.assertEquals Ma również metodę assertSame: https://phpunit.de/manual/current/en/appendixes.assertions.html#appendixes.assertions.assertSame Na pierwszy rzut oka wygląda na to, że robią to samo. Jaka jest różnica między nimi? Dlaczego oba są określone?
Czy istnieje sposób na zdefiniowanie różnych pozornych oczekiwań dla różnych argumentów wejściowych? Na przykład mam klasę warstwy bazy danych o nazwie DB. Ta klasa ma metodę o nazwie „Query (string $ query)”, która pobiera ciąg zapytania SQL na wejściu. Czy mogę utworzyć makietę dla tej klasy (DB) i ustawić różne …
Prowadzę duży zestaw testów phpunit i chciałbym zobaczyć, który test się nie powiódł, gdy tylko zawiódł, zamiast czekać na zakończenie wszystkich testów, a następnie wypisać wszystkie niepowodzenia. Jak mogę powiedzieć phpunitowi, żeby to zrobił?
Próbuję użyć PHPunit do przetestowania klasy, która wyprowadza niektóre niestandardowe nagłówki. Problem w tym, że na moim komputerze to: <?php class HeadersTest extends PHPUnit_Framework_TestCase { public function testHeaders() { ob_start(); header('Location: foo'); $headers_list = headers_list(); header_remove(); ob_clean(); $this->assertContains('Location: foo', $headers_list); } } a nawet to: <?php class HeadersTest extends PHPUnit_Framework_TestCase …
Problem Aby poprawić jakość kodu, postanowiłem spróbować nauczyć się testować mój kod przy użyciu testów jednostkowych zamiast moich miernych w najlepszym rozwiązaniach testowych. Zdecydowałem się zainstalować PHPUnit przy użyciu kompozytora dla osobistej biblioteki, która pozwala mi na osiągnięcie wspólnych funkcji bazy danych. Na początku nie miałem pliku konfiguracyjnego dla PHPUnit …
Używam phpunita w połączeniu z jenkinsem i chcę pominąć niektóre testy, ustawiając konfigurację w pliku XML phpunit.xml Wiem, że mogę użyć w linii poleceń: phpunit --filter testStuffThatBrokeAndIOnlyWantToRunThatOneSingleTest jak przetłumaczyć to na plik XML, skoro <filters>tag służy tylko do pokrycia kodu? Chciałbym przeprowadzić wszystkie testy oprócz testStuffThatAlwaysBreaks
W jaki sposób można uniknąć konieczności wywoływania konstruktora przez phpunit w celu uzyskania pozorowanego obiektu? W przeciwnym razie potrzebowałbym obiektu pozorowanego jako argumentu konstruktora, innego do tego itp. Interfejs API wygląda następująco: getMock($className, $methods = array(), array $arguments = array(), $mockClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.