【发布时间】:2016-05-24 14:05:52
【问题描述】:
我必须针对内部使用 LocalDateTime.now() 的 api 编写一些测试,用这个值做一些事情并返回一个相当长的字符串 (~1MB)。
我想编写一些回归测试,以确保即使有新版本的 api 出现,结果也是一样的。
遗憾的是,每次测试结果都不同,因为LocalDateTime.now() 总是返回不同的值(惊喜、惊喜……)
是否有可能以某种方式将LocalDateTime.now() 的结果固定为硬编码值。
由于它只需要在某些单元测试中工作,因此也欢迎使用肮脏的解决方案。
【问题讨论】:
-
当然。如果您在测试中从对 LocalDateTime.now 的调用中减去 API 的结果,结果应该是一致的。
-
那不可能。该 api 不只是返回 LocalDateTime 而是做了很多事情来创建新数据,这些数据取决于 now() 值。我将不得不重新实现测试站点上的所有内容。
-
那么您将不得不编辑您的问题并更详细地解释 API 的输入和输出。
-
你使用
java.time.LocalDateTime还是org.joda.time.LocalDateTime? -
java.time.LocalDateTime