PhpUnit测试-不存在非模拟方法
我在调用公共方法时遇到问题。有一个简单的例子:PhpUnit测试-不存在非模拟方法,php,unit-testing,phpunit,Php,Unit Testing,Phpunit,我在调用公共方法时遇到问题。有一个简单的例子: 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-&
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()
上面提到的自动加载问题我的bootstrap.php没有加载。 所以类已经创建,但不是从真实的类创建的。 我在网上遇到一个错误:
new Foo();
因此,在这种情况下,我认为这是检查类加载的最佳方法。添加数组“uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。如果我创建了一个包含类和测试的文件,那么就没有问题了。自动加载有问题,该类不可用。所以PHPUnit不知道这个类有方法barYeah,非常感谢!这太简单了。