Mocking El tiempo utilizado por todas las instancias de DateTime para fines de prueba

Me gustaría poder establecer la hora para cada instancia deDateTime instanciado durante la duración de una prueba PHPUnit o Behat.

Estoy probando la lógica de negocios relacionada con el tiempo. Por ejemplo, que un método en una clase solo devuelve eventos en el pasado o en el futuro.

Cosa que no quiero hacer si es posible:

Escribe un contenedor alrededor deDateTime y use esto en lugar deDateTime a lo largo de mi código. Esto implicaría un poco de reescritura de mi base de código actual.

Genere dinámicamente un conjunto de datos cada vez que se ejecute la prueba / suite.

Entonces la pregunta es: ¿es posible anularDateTimeEl comportamiento de @s siempre proporciona un tiempo específico cuando se solicita?

Respuestas a la pregunta(5)

Su respuesta a la pregunta