java - Java (JUnit5) 测试挑战
问题描述
我有一类与 DateTime 相关的便捷方法,它可以获取当前年份或当前时间等信息。我刚刚将它全部更新为使用 java.time.* 类,并且正在尝试编写良好的 JUnit 5 测试以确保它们正常工作。
我显然需要确定一个预期结果来与每个实际结果进行比较,但是我很难想出一种计算预期结果的好方法。(如果我不在预期结果中指定的日期进行测试,对当前小时、分钟或秒等值以及更大的单位(如日)进行硬编码的预期值不是很令人满意。)
我的方法基于 LocalDate.now() 方法,因此使用相同的方法计算预期结果似乎毫无意义;这可能只能证明预期结果和实际结果是相同的,但都是错误的。这是一个合理的反对吗?
如果是,那么我应该如何计算预期结果?许多旧的日期和时间类在很大程度上已被弃用,每个人都知道它们的不足之处。我是否应该使用它们并希望这些缺陷都不会给我带来误报或否定?
还是有更好的方法继续?
解决方案
推荐阅读
- tensorflow - tf.estimator.BoostedTreesRegressor SavedModel 恢复问题
- javascript - Reactjs 不理解 ES6?
- javascript - 如果特定块处于活动状态,古腾堡编辑器会检查 JS
- scala - 在 REPL 中除以零时省略了哪些 28 帧?
- html - 100% 宽度/高度绝对父级,带填充
- sql - 是否可以将变量的值连接到接受提示文本中?
- jsf - 如何在 ui:repeat 中获取 h:outputText 嵌套在 h:dataTable 中以在更新数据表时进行更新?
- swift - 给 SCNPlane 添加阴影
- html - 溢出:滚动属性不包括溢出中的背景
- javascript - 如何处理 Oauth 页面重定向?