是否可以在JMockit中检查方法的局部变量?

资源

void foo(){
    boolean isPresent = false;
    /// ... something here sets isPresent
}


测试

can I check the value of isPresent at the end of call of foo() using JMockit?

最佳答案

而不是尝试做一些晦涩的模拟机制。尝试将代码重构为可以测试的内容:

void foo(){
    boolean isPresent = isPresent();
}

boolean isPresent(){
   ....
}


另外,考虑一下。如果变量的值从不逸出方法并且不会引起其他影响(应该是可测试的),为什么还要尝试对其进行测试?或为什么甚至在那里?测试方法范围变量的值为x是没有价值的。测试该方法导致y,因为变量为x具有值。

09-25 21:56