2010-10-05 9 views
6

Estoy aprendiendo a construir pruebas de php unit usando PHPUnit. Allí tienen un manual y me encontré con este example Donde usan assertEmpty(), pero cuando ejecuto este código en la línea de comando obtengo este error: Call to undefined method StackTest::assertEmpty() in /var/www/.../tests/StackTest.php on line 20. Entonces, si este método está en desuso o algo por lo que lo usan, ¿existe otro método para esto? (Por supuesto que puedo probar este $this->assertEquals(0, count($stack));) pero de todos modos ... Lo mismo con assertNotEmpty().PHPUnit StackTest :: assertEmpty() obsoleto

+0

estoy teniendo el mismo problema. alguna vez te lo imaginate? – sam2themax

+0

Mismo problema aquí problema – mikeycgto

+0

Necesita usar phpunit> = 3.5 && <= 3.8 https://github.com/sebastianbergmann/phpunit/wiki/Release-Announcement-for-PHPUnit-4.0.0#backwards-compatibility-issues –

Respuesta

2

¿Está ejecutando la prueba unitaria desde la línea de comandos con el phpunit command line tools?

phpunit --verbose StackTest stacktest.php 
+0

Sí, y el comando está dando, además, el nombre de clase, nada más: (... – Centurion

+0

¿Alguna suerte todavía? Tal vez solo vaya con 'phpunit name_of_your_file.php' – Craig

+0

También estoy teniendo el mismo problema, también errores si use assertCount() – user466764

7

Estoy en debian, y parece que la instalación predeterminada de PHPunit es un poco antigua (3.4.14).

Si busca "assertEmpty" en esta url, verá en qué versión se agregó (3.5.0-1). http://packages.debian.org/changelogs/pool/main/p/phpunit/phpunit_3.6.10-1/changelog.html

Lo que funcionó para mí estaba quitando PHPUnit del sistema con apt, e instalarlo con la pera http://www.santiagolizardo.com/article/how-to-install-pear-and-phpunit-in-debianubuntu/57001

Estos enlaces también me ayudó. "Fatal error: Call to undefined method PHPUnit_Util_Filter::addfiletofilter() in /usr/bin/phpunit on line 48"

Cannot get PHPunit working