1

我正在编写一个包,我想在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达到同样的效果?

4

0 回答 0