文字列プロパティとしてクラス名があります。1 つのメソッド ( 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 が渡されたかどうかをチェックする方法もわかりません。