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'实例?如果是这样,它们之间可能会有微小的差异((微秒))。确保使用相同的时间戳生成日期,例如通过硬编码(目前使用当前时间戳)。 –