Mockery测试构造函数调用,新关键字

时间:2013-07-02 17:30:39

标签: php phpunit mockery

我有一个类名作为字符串属性。一种方法(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是否通过。

1 个答案:

答案 0 :(得分:0)

通常你会模拟Maker()类,并确保它从你正在寻找的对象mock返回。

我为测试这样的事情做的另一个选择是简单地测试Maker并使用给定的类期望调用fetchObject()例程,然后使用InstanceOf检查返回的对象是否是所需的类。