2011-01-26 36 views

回答

2

事实证明,这是很容易与乔达时间:

Duration dur = new Duration(sender.getStartTime(), new DateTime()); 
assertTrue(5000 > dur.getMillis()); 
6

这听起来像个坏主意。单元测试不应该以任何方式依赖于当前的实际时间......这就是为什么在您的类的构造函数中注入一个称为Clock的接口并将其用作当前时间源的好习惯。然后在你的单元测试中,你可以使用一个特殊的实现来控制它返回的时间,从而使你的测试具有确定性。

不过,我敢肯定,你可以很容易地编写检查,一个DateTime是在一定范围内的另一个DateTime内通过加法和减法秒的所需数量,然后比较创建新DateTime个方法。

相关问题