Używam Eclipse PDT dla PHP. Mogę uruchomić moje testy PhpUnit: działa dobrze.Debugowanie niektórych testów PhpUnit w Eclipse
Ale nie mogę debugować testów jednostkowych. Czy ktoś już to zrobił? Czy ktoś może w tym pomóc?
Niż, Messaoud
Używam Eclipse PDT dla PHP. Mogę uruchomić moje testy PhpUnit: działa dobrze.Debugowanie niektórych testów PhpUnit w Eclipse
Ale nie mogę debugować testów jednostkowych. Czy ktoś już to zrobił? Czy ktoś może w tym pomóc?
Niż, Messaoud
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:
stanowić główną metodę w swojej testcase
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ę.
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:
Nie musisz modyfikować swoich plików testowych ani niczego, będą one działać po wyjęciu z pudełka.
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'));
}
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
Uwielbiam tę wtyczkę. Po przetestowaniu kilku opcji okazało się, że jest najlepszy dla interfejsu użytkownika, łatwej konfiguracji i stabilności. –
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
link jest uszkodzony od 2015-12-27 –
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!! –
Jesteś genialny. – fracz