Pytania otagowane jako phpunit

PHPUnit to zorientowana na programistę platforma testowa dla PHP. Jest to przykład architektury xUnit dla frameworków do testów jednostkowych.


13
Jak uruchomić pojedynczą metodę testową za pomocą phpunit?
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, …
335 php  phpunit 

8
Najlepsze praktyki testowania chronionych metod za pomocą PHPUnit
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 …

16
Jak wyprowadzać w CLI podczas wykonywania testów jednostkowych PHP?
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); …

6
Testowanie klas abstrakcyjnych
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.

11
Jak mogę sprawić, aby PHPUnit MockObjects zwracały różne wartości na podstawie parametru?
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 …


12
SimpleTest vs PHPunit
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?

7
Różnica między assertEquals i assertSame w phpunit?
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?
121 phpunit 

5
phpunit mock metoda wielokrotnych wywołań z różnymi argumentami
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 …
117 php  mocking  phpunit 


7
Przetestuj nagłówki PHP za pomocą PHPUnit
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 …

21
PHPUnit - „Nie wykonano testów” podczas korzystania z pliku konfiguracyjnego
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 …

3
Jak pominąć testy w 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
88 php  phpunit 

7
phpunit unika argumentów konstruktora dla makiety
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 …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.