我正在使用Mockery来定义一个期望,即我的mock上的函数应该以对象作为其参数来调用。我在我的测试中声明了预期的对象。问题是测试中的对象与我的代码中的对象的引用不同 - 有没有办法断言两个对象的相等而不是确切的引用?
$resource = new Resource("Test");
$this->aThing
->shouldReceive('call')
->with($resource)
->andReturn(true)
->once();
public function respondWithString()
{
// assume $this->aThing is the injected mock
$resource = new Resource("Test");
$response = $this->aThing->call($resource);
return $response;
}
答案 0 :(得分:0)
这应该有效:
$resource = new Resource("Test");
$this->aThing
->shouldReceive('call')
->with(Mockery::mustBe($resource))
->andReturn(true)
->once();