人们可以使用 Clock 来模拟调用,例如System.currentTimeMillis()使用Clock.millis()和注入 Clock 的模拟实现。
有类似的方法可以轻松模拟吗System.nanoTime()?
Hon*_*dek -2
使用Clock.instant()。根据文件:
该类存储一个代表纪元秒的 long 和一个代表纳秒的 int
您可以使用 访问纳米部分Instant.getNano()。
它并不等同,但很相似,并且为您提供相同的功能。你甚至不需要读取纳米值,Instant 就代表纳米时间。并且您在类上定义了算术函数Instant,例如等minus(Instant)。minusNanos(long)