我的方案是我正在测试一个方法,该方法从一个带有两个键['id'=>123, 'timestamp'=>microtime()]
的数组的库中调用另一个方法。我可以将这个microtime作为我正在测试的方法的参数,但有一种方法可以进行这个测试,以便我测试所有键,除了某些键对于被调用的方法是相同的。
$this->foobarLibary->expects($this->once())
->method('saveItem')
->with(['id'=>1, 'timestamp'=>microtime()])
->willReturn(200);
$res = $this->sut->sutMethodThatCallsFoobarSaveItem();
$this->assertTrue($res);
我抱怨timestamp
密钥不相等且哪个是真的,因为microtime不同。
此测试现在失败,因为时间不能相等。有解决方法吗?