具有可变参数数组的PhpUnit测试方法

时间:2018-02-26 09:24:38

标签: php unit-testing mocking phpunit

我的方案是我正在测试一个方法,该方法从一个带有两个键['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不同。

此测试现在失败,因为时间不能相等。有解决方法吗?

0 个答案:

没有答案