【发布时间】:2014-05-04 23:57:10
【问题描述】:
我遇到了调用公共方法的问题。有一个简单的例子:
class Foo {
public function bar()
{
return array();
}
}
//test code
$test = $this->getMock('Foo', array('____'));
var_dump($test instanceof Foo);
var_dump(method_exists($test, 'bar'));
$result = $test->bar();
我得到以下结果:
bool(true)
bool(false)
Fatal error: Call to undefined method Mock_Foo_abdf1ea1::bar()
【问题讨论】:
-
array('____') - 添加以避免完全模拟。
-
可能是设置模型的时候Foo类没有加载,所以创建了一个dummy类。
-
问题是@gontrollez 提到的。如果我将类和测试一起创建一个文件,则没有问题。您在自动加载时遇到问题,并且该类不可用。所以 PHPUnit 不知道该类有方法
bar -
是的,非常感谢!就是这么简单。)))
标签: php unit-testing phpunit