【发布时间】:2020-06-16 06:31:18
【问题描述】:
public class CacheAdder{
private static final int HARD_CACHE;
static {
HARD_CACHE = 22;
try {
TimeUnit.SECONDS.sleep(3);
} catch (InterruptedException e) {
e.printStackTrace();
}
public int divide(int number, int divider) {
return (int) HARD_CACHE+number/divider;
}
}
当我通过这个示例类模拟和运行测试时,mockito 跳过了有意义的静态部分,因为我模拟了 HARD_CACHE 的值,但同时我希望通过代码实现 100% 的覆盖率。是否应该在没有模拟的情况下测试静态字段?或者有没有办法使用模拟测试静态字段/方法/变量?
【问题讨论】:
标签: java unit-testing junit static mockito