2010-10-05 22 views
6

Sto imparando a costruire test di unità php utilizzando PHPUnit. Lì hanno un manuale e ho incontrato questo example dove usano assertEmpty(), ma quando eseguo questo codice nella riga di comando ottengo questo errore: Call to undefined method StackTest::assertEmpty() in /var/www/.../tests/StackTest.php on line 20. Quindi, se questo metodo è deprecato o qualcosa del perché lo usano, c'è anche un altro metodo per questo? (Certo che posso provare questo $this->assertEquals(0, count($stack));) ma comunque ... Lo stesso con assertNotEmpty().PHPUnit StackTest :: assertEmpty() deprecato

+0

Sto avendo lo stesso problema. Hai mai capito? – sam2themax

+0

Lo stesso problema qui problema – mikeycgto

+0

È necessario utilizzare phpunit> = 3.5 && <= 3.8 https://github.com/sebastianbergmann/phpunit/wiki/Release-Annuncio-for-PHPUnit-4.0.0#backwards-compatibility-issues –

risposta

2

Si sta eseguendo il test dell'unità dalla riga di comando con phpunit command line tools?

phpunit --verbose StackTest stacktest.php 
+0

Sì, e tu comandi sta dando in aggiunta il nome della classe, nient'altro: (... – Centurion

+0

Ancora nessuna fortuna? Forse vai con 'phpunit name_of_your_file.php' – Craig

+0

Ho anche lo stesso problema, ma anche errori se tu usa assertCount() – user466764

7

Sono su debian e sembra che l'installazione predefinita di PHPunit sia un po 'vecchia (3.4.14).

Se si cerca "assertEmpty" in questo url, si vedrà quale versione è stata aggiunta in (3.5.0-1). http://packages.debian.org/changelogs/pool/main/p/phpunit/phpunit_3.6.10-1/changelog.html

Che cosa ha funzionato per me è stato rimuovendo phpunit dal sistema con apt, e installarlo con pere http://www.santiagolizardo.com/article/how-to-install-pear-and-phpunit-in-debianubuntu/57001

Questi link mi ha anche aiutato. "Fatal error: Call to undefined method PHPUnit_Util_Filter::addfiletofilter() in /usr/bin/phpunit on line 48"

Cannot get PHPunit working