我正在学习使用PHPUnit构建php单元测试。他们有一本手册,我遇到了这个example他们使用assertEmpty()的地方,但是当我在命令行中运行这段代码时,我收到了这个错误:Call to undefined method StackTest::assertEmpty() in /var/www/.../tests/StackTest.php on line 20
。因此,如果不推荐使用此方法或使用它的原因,还有另一种方法吗? (当然我可以尝试这个$this->assertEquals(0, count($stack));
)但是无论如何......
与assertNotEmpty()
相同。
答案 0 :(得分:7)
我正在使用debian,看起来PHPunit的默认安装有点旧(3.4.14)。
如果您在此网址中搜索“assertEmpty”,您将看到它在(3.5.0-1)中添加的版本。 http://packages.debian.org/changelogs/pool/main/p/phpunit/phpunit_3.6.10-1/changelog.html
对我来说有用的是用apt从系统中删除phpunit,然后用pear安装它 http://www.santiagolizardo.com/article/how-to-install-pear-and-phpunit-in-debianubuntu/57001
这些链接也对我有所帮助。 "Fatal error: Call to undefined method PHPUnit_Util_Filter::addfiletofilter() in /usr/bin/phpunit on line 48"
答案 1 :(得分:2)
您是否正在使用phpunit command line tools?
从命令行运行单元测试phpunit --verbose StackTest stacktest.php