我有一个类名作为字符串属性。一种方法(fetchObject
)创建此类的新实例。我想用PHPUnit和Mockery来测试这个方法。
那是代码
class Maker
{
private $_className = 'Article';
public function fetchObject( $array )
{
return new $this->_className( $array );
}
}
我试过这样的事情
$data = array( 'title' => 'Amazing title' );
$article = m::mock( 'Article', array( $data ) );
$maker= new Maker;
$result = $maker->fetchObject( array() );
测试工作,但我不确定它是否检查构造函数调用,我不知道如何检查param是否通过。
答案 0 :(得分:0)
通常你会模拟Maker()类,并确保它从你正在寻找的对象mock返回。
我为测试这样的事情做的另一个选择是简单地测试Maker并使用给定的类期望调用fetchObject()例程,然后使用InstanceOf检查返回的对象是否是所需的类。