【发布时间】:2011-09-02 02:48:02
【问题描述】:
我正在编写一些针对当前时间进行日期和时间计算的代码。在 Joda 时代,这是通过(Java)构造函数访问的,因为它是一个不可变对象。我需要能够模拟,以便new DateTime() 返回一个特定的常量瞬间,以便我可以进行合理的测试断言,但不要理会所有其他 DateTime 方法。
事实证明这很糟糕。 Grails mockFor(DateTime, true) 不会让我模拟 Java 构造函数,但是在 Joda 时间中没有明显或可读的非构造函数方法来获取时间。
唯一可用的选项似乎涉及低级 JVM 技术,如 JMockit 或 EasyMock 3 类模拟,这是 Grails 的一个痛点。有没有简单/直接的方法来实现这一目标?
【问题讨论】:
标签: grails time groovy mocking jodatime