我假设代码路径只在JVM中执行一次。但是,在编写复杂的多线程系统时,有时假设可能是错误的。
我是否可以使用任何一个线性断言来断言这一点。类似于番石榴Preconditions.checkState(expr)
,但更像是assertAtMostTimes(1, "Should not be executing more than once")
。喜欢简单而不是跟踪类变量中的次数。
这类似于test cases的编写方式,但我正在寻找生产代码中的内容。
答案 0 :(得分:1)
查看JaCoCo代码覆盖率工具。它具有观察代码路径的能力,并且可以计算它们执行的次数。设置起来并不容易,但它应该能够做到你想要的。