Come integrare PHPUnit in un framework personalizzato
-
20-08-2019 - |
Domanda
Vorrei integrare PHPUnit nel mio framework. Con questo, intendo dire che devo fare un po 'di inizializzazione all'inizio, come impostare i caricamenti automatici, prima di eseguire i test.
Mi piacerebbe usare il cli test runner e, se ho capito bene, devo creare una classe, che ha una suite di funzioni statiche (), che restituisce un'istanza di PHPUnit_Framework_TestSuite e aggiungere test a questa suite, come indicato su http://www.phpunit.de/manual/current/en /textui.html .
Finora mi sono inventato:
class MyTestFW {
public static function suite() {
// Do framework initialization here
$suite = new PHPUnit_Framework_TestSuite();
$suite->addTest(new SimpleTest());
// Add more tests
return $suite;
}
}
SimpleTest è una classe di test molto semplice, che estende PHPUnit_Framework_TestCase. Quando eseguo & Quot; phpunit MyTestFW & Quot ;, ottengo sempre:
PHPUnit 3.3.16 by Sebastian Bergmann.
E
Time: 0 seconds
There was 1 error:
1) (SimpleTest)
RuntimeException: PHPUnit_Framework_TestCase::$name must not be NULL.
Qualcuno potrebbe aiutarmi un po 'per favore?
Soluzione
PHPUnit_Framework_TestCase::$name
viene impostato nel costruttore TestCase, quindi puoi provare questo:
$suite->addTest(new SimpleTest('simpletest'));
edit1:
Non conosco il tuo codice, quindi non so se questo aiuta.
Quello che vedo di solito è questo (in sostituzione di quanto sopra, non aggiunta):
$suite->addTestSuite('SimpleTest');
EDIT2: