php – Mockery shouldReceive() – > once()似乎不起作用

前端之家收集整理的这篇文章主要介绍了php – Mockery shouldReceive() – > once()似乎不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图让Mockery声明一个给定的方法调用至少一次.

我的测试类是:

use \Mockery as m;

class MyTest extends \PHPUnit_Framework_TestCase
{

    public function testSetUriIsCalled()
    {
        $uri = 'http://localhost';
        $httpClient = m::mock('Zend\Http\Client');
        $httpClient->shouldReceive('setUri')->with($uri)->atLeast()->once();
    }

}

正如您所看到的,有一个测试(希望)创建了一个期望setUri将被调用的测试.由于没有涉及任何其他代码,我无法想象它可以调用,但我的测试通过.有人可以解释为什么吗

你需要调用Mockery:close()来运行你期望的验证.它还处理下一个测试用例的mockry容器的清理.
public function tearDown()
{
    parent::tearDown();
    m::close();
}

猜你在找的PHP相关文章