mockery expectation 覆盖

 

 

public function testOverrideExpectation()
    {
        // 如果没有指定 expectation 调用次数, 那么每次调用 mock 的 expectation 方法都会返回第一个 expectation
        $mock = \Mockery::mock();
        $mock->shouldReceive('foo')->andReturn('green');
        $mock->shouldReceive('foo')->andReturn('blue');
        $this->assertEquals('green', $mock->foo());

        // 第一个 expectation 指定了只调用一次, 所以下面第二次调用的时候返回了 blue
        $mock = \Mockery::mock();
        $mock->shouldReceive('foo')->once()->andReturn('green');
        $mock->shouldReceive('foo')->andReturn('blue');
        $this->assertEquals('green', $mock->foo());
        $this->assertEquals('blue', $mock->foo());
    }

 

posted @ 2019-04-02 09:12  佚名000  阅读(188)  评论(0编辑  收藏  举报