在单元测试中,我经常有方法返回DateTime
或约now()
。有没有办法说actual
DateTime是在actual
DateTime的几秒钟内?如何测试两个Joda-Time DateTime对象几乎相等?
3
A
回答
2
事实证明,这是很容易与乔达时间:
Duration dur = new Duration(sender.getStartTime(), new DateTime());
assertTrue(5000 > dur.getMillis());
6
这听起来像个坏主意。单元测试不应该以任何方式依赖于当前的实际时间......这就是为什么在您的类的构造函数中注入一个称为Clock
的接口并将其用作当前时间源的好习惯。然后在你的单元测试中,你可以使用一个特殊的实现来控制它返回的时间,从而使你的测试具有确定性。
不过,我敢肯定,你可以很容易地编写检查,一个DateTime
是在一定范围内的另一个DateTime
内通过加法和减法秒的所需数量,然后比较创建新DateTime
个方法。
相关问题
- 1. 测试两个对象是否相等
- 2. Python单元测试:测试两个角度是否几乎相等
- 3. 如何在xunit.net中测试两个对象是否相等?
- 4. 如何测试python中两个对象是否相等?
- 5. 如何在单元测试中测试两个对象的相等性?
- 6. C++相等测试'对象'
- 7. 如何确定两个双打是否几乎相等
- 8. 测试两个对象在结构上是否相等?
- 9. 如何在C++中测试相关对象是否相等?
- 10. rx.js按结构测试对象相等
- 11. 测试ActiveSupport :: TimeWithZone对象是否相等
- 12. Grails集成测试 - 域对象相等
- 13. CoffeeScript中的测试对象相等性?
- 14. 测试两个PersistenceContexts是否相等
- 15. 两张表几乎相同
- 16. 如何等待几个对象
- 17. 如何将两个几乎相同的JavaScript对象合并为一个使用Lodash的对象?
- 18. 对两个对象做些什么,测试结果是否相等
- 19. JodaTime:如何从DateTime对象获取ISO格式化时间?
- 20. VBA:如何测试对象是否相等(两个变量是否引用同一对象)
- 21. 如何测试复杂对象图的相等性?
- 22. 如何使用xcttest测试对象相等?
- 23. 比较两个datetime对象
- 24. 如果值几乎相同,如何按DateTime对行进行分组?
- 25. 确定两个对象是否相等
- 26. 两个对象的相等性
- 27. 如何测试两个电子邮件地址是否相等
- 28. 如何测试两个pthread互斥体的相等性?
- 29. 在R中,如何测试两个因素是否相等?
- 30. 如何结合两个几乎相似的RxJava方法?