Я пишу некоторый код, который выполняет вычисления даты и времени относительно текущего времени. Во время Joda доступ к нему осуществляется через конструктор (Java), поскольку он является неизменным объектом. Мне нужно иметь возможность имитировать, чтобы new DateTime()
возвращал определенный постоянный момент, чтобы я мог делать разумные тестовые утверждения, но оставил в покое все остальные методы DateTime.
Это противно. Grails mockFor(DateTime, true)
не позволит мне издеваться над конструктором Java, но нет никакого очевидного или читабельного неконструктивного способа получения времени во времени Joda.
Похоже, что единственные доступные опции включают низкоуровневые методы JVM, такие как JMockit или EasyMock 3, которые являются проблемой Grails. Есть ли простой / прямой способ добиться этого?