我正在编写一个包,我想在Prophecy而不是Mockery中编写测试。包类Bar
有一个方法,该方法sayName
需要一个对象FooInterface
作为参数实现。
使用 Mockery 创建不存在的类的模拟没有问题:
<?php
use \Prophecy\Prophet;
use \Mockery;
class Bar
{
public function sayName(\FooInterface $foo)
{
echo $foo->test();
}
}
$mock = Mockery::mock('Foo', 'FooInterface');
$mock->shouldReceive('test')->times(1)->andReturn('This is a mock test');
$bar = new Bar();
$bar->sayName($mock);
给出:
这是一个模拟测试
如何用Prophecy达到同样的效果?