据推测,我正在为依赖于specs
用Scala
. timestamp
测试更多地绑定到带有某些属性的事件流。
以下存根是实际实现的一部分
private def eligibleForRecentPost(optionalPost: Option[SearchEntity]): Boolean = {
optionalSearch.map(search => search.timestamp)
.exists(searchTime => searchTime >= LocalDateTime.now()
.minusDays(recencyDurationInDays).atZone(ZoneId.systemDefault).toInstant.toEpochMilli)
}
现在,我要查找的代码可能类似于
// just a mock
when(LocalDateTime.now().minusDays(any)
.atZone(ZoneId.systemDefault).toInstant.toEpochMilli)
.thenReturn(1579625874972)
请注意,我知道测试中的 search.timestamp 可以更新,但这需要在每个recencyDurationInDays
!!
但是在specs2和/或scala中有没有更好更可靠的方法来做到这一点?
编辑:我必须提到,我不期待改变实现,以便LocalDateTime
被另一个类覆盖/包装。