Jak porównujecie daty w testach?
Mam taki problem. Tworzę nowy obiekt entity z polem createdAt typu \DateTime()
i zapisuję do bazy. Następnie chcę sprawdzić czy poprawnie się zapisało do bazy, więc pobieram i porównuję daty.
self::assertEquals($action->getCreatedAt(), $dbAction->getCreatedAt());
Leci mi błąd:
Failed asserting that two DateTime objects are equal.
Expected :2018-09-21T09:52:08.162459+0200
Actual :2018-09-21T09:52:08.000000+0200
^^^^^^
Okazuje się, że baza przechowuje datę z dokładnością do sekund. Moje pytanie jest zatem takie, jak najsensowniej porównać te daty. Aktualnie zastosowałem konwersję do timestamp, ale zastanawiam się czy to jest to poprawne:
self::assertSame($action->getCreatedAt()->getTimestamp(),
$dbAction->getCreatedAt()->getTimestamp());