2009-10-28 19 views

Odpowiedz

10

Przykładem jest więcej wart niż 1000 słów:

require_once 'PHPUnit/Framework.php'; 
require_once 'PHPUnit/TextUI/TestRunner.php'; 

class MyTestCase extends PHPUnit_Framework_TestCase { 

protected function setUp() { 
    parent::setUp(); 

} 

function testSimple() { 
    echo "horray !"; 
} 

protected function tearDown() { 

    parent::tearDown(); 
} 

static function main() { 

    $suite = new PHPUnit_Framework_TestSuite(__CLASS__); 
    PHPUnit_TextUI_TestRunner::run($suite); 
} 
} 

if (!defined('PHPUnit_MAIN_METHOD')) { 
    MyTestCase::main(); 
} 

kluczem rzeczą jest:

  1. stanowić główną metodę w swojej testcase

  2. sprawdź, czy test jest wykonywany bezpośrednio (v ia php MyTestCase.php) lub samego phpunit. jeśli wykonywane bezpośrednio - po prostu uruchom testrunnera.

Wiesz, że możesz debugować swoją walizkę.

+0

O MÓJ BÓG! JEŚLI TYLKO natknąłem się na tę odpowiedź * lata * temu, kiedy zacząłem szukać! Próbowałem tak wielu rzeczy, ale to po prostu działa *! DZIĘKUJĘ, anonimowy użytkownik !! Dziękuję Ci!! –

+0

Jesteś genialny. – fracz

2

Dla innych, którzy zastanawiają się, czy istnieją proste instrukcje konfigurowania Eclipse/Aptana z PHPUnit, oto strona znalazłem:

http://pkp.sfu.ca/wiki/index.php/Configure_Eclipse_for_PHPUnit

Co trzeba zrobić w zasadzie jest:

  1. Upewnij się, że biblioteki PEAR znajdują się w ścieżce dołączania do projektu. Kliknij prawym przyciskiem myszy projekt w oknie nawigatora i kliknij Właściwości. Zobaczysz sekcję dla PHP Include Path (lub PHP Build Path w Aptana dla mojej wersji), otwórz ją i dodaj biblioteki PEAR do swojej ścieżki include/build, aby Eclipse wiedział o phpunit.
  2. Utwórz konfigurację debugowania, która uruchamia plik phpunit.php (może być konieczne dodanie rozszerzenia .php do pliku, jeśli jest on uruchomiony z programem shebang, tak jak w przypadku Mac OS X). W przypadku pliku phpunit.php jako skryptu "Rozpocznij działanie" ustaw "Argumenty skryptu PHP", aby plik testowy PHPUnit, którym jesteś zainteresowany, był uruchamiany przez phpunit.php. Dodaj dowolne inne argumenty wiersza poleceń, aby Ci odpowiadały. na przykład. --verbose to dobra opcja. Możesz także użyć zmiennych takich jak $ {resource_loc}, aby Eclipse zastąpił go bieżącym plikiem, na przykład.
  3. Uruchom konfigurację debugowania i ciesz się debugowaniem!

Nie musisz modyfikować swoich plików testowych ani niczego, będą one działać po wyjęciu z pudełka.

2

W końcu uruchamiam debugowanie równolegle do linii poleceń w Eclipse 3.4. Debugowanie i uruchomić jak „PHP stronie internetowej”, moja minimalna kodu

require_once 'PHPUnit/Framework.php'; 
require_once 'PHPUnit/TextUI/TestRunner.php'; 
class XTest extends PHPUnit_Framework_TestCase{ 
    public function testX(){ 
     //... 
    } 
} 
if (!defined('PHPUnit_MAIN_METHOD')) { 
    header('Content-type:text/plain; charset=utf-8'); 
    PHPUnit_TextUI_TestRunner::run(new PHPUnit_Framework_TestSuite('XTest')); 
} 
5

Możemy rozwiązać ten problem z naszym Eclipse plugin MakeGood.

MakeGood zapewnia prosty sposób debugowania testów. Test uruchamia się tylko w trybie debugowania. Aby uzyskać więcej informacji, zobacz the user guide.Metoda

Debugging a test

+0

Uwielbiam tę wtyczkę. Po przetestowaniu kilku opcji okazało się, że jest najlepszy dla interfejsu użytkownika, łatwej konfiguracji i stabilności. –

0

Mam potwierdzone przez ustawienie przerwania w mojej konfiguracji() w moim badanej jednostki, postępując zgodnie z instrukcjami tutaj:

How to Debug Your PHP Unit Tests in Eclipse

Polega ona na kopiowanie/usr/bin/plik phpunit do twojego projektu (aby był dostępny przez GUI Eclipse) i dodaj do niego rozszerzenie .php. Stamtąd, uruchom konfiguracje debugowania i ustaw plik PHP na ten plik phpunit.php.

Kolejny ważny krok był dla mnie świetny, ponieważ używam Yii, który dostarczył mi plik bootstrap.php. Umieść coś takiego w swoim args:

--bootstrap=${workspace_loc}/my-project/trunk/protected/tests/bootstrap.php ${workspace_loc}/my-project/trunk/protected/tests/unit/SomeClassToTest.php 
+0

link jest uszkodzony od 2015-12-27 –

Powiązane problemy