2
我有測試類:PHPUnit的詹金斯:預計日期時間和日期實際
class ClassTest extends \PHPUnit_Framework_TestCase
{
/**
* @covers \Path\Class::method()
* @dataProvider methodData
*/
public function testMethod($data, $expected)
{
$this->object = $this->getMockBuilder("Path\Class")
->setConstructorArgs([..])
->getMock();
....
$response = $this->object->method($data);
$this->assertEquals($expected, $response);
}
public function methodData()
{
$entity= new Entity();
$entity->setDateArrivee(new \DateTime());
....
....
}
}
我運行詹金斯工作PHPUnit的。 dateArrivee在響應中的日期和期望值不相同。我不知道爲什麼。 你能幫我嗎?
這將在很大程度上取決於你如何從'methodData()'數據提供者返回數據,以及什麼是在方法發生()是調用。 ClockMock或存儲函數中使用的初始化日期時間,以及$期望的回報也有幫助。 –
你是否在你的dataprovider/tests中多次創建'DateTime'實例?如果是這樣,它們之間可能會有微小的差異((微秒))。確保使用相同的時間戳生成日期,例如通過硬編碼(目前使用當前時間戳)。 –