假设我有一个类似这样的课程:
public class MyClass {
private int var1;
private int var2;
public MyClass() {
var1 = 0;
var2 = 0;
}
public void setVariables() {
var1 = 1;
var2 = 1;
}
我班上没有任何getter方法。
有没有办法用JUnit测试像setVariables()这样的void方法?如何在不直接访问变量值的情况下检查其行为?
答案 0 :(得分:3)
由于此方法没有可见的(来自外部)副作用,我可能不会测试它。
据推测,设置这些变量的事实对其他方法有副作用。在那里你可以测试那些其他方法是否按预期执行。
答案 1 :(得分:0)
你可以使用反射来访问变量,在groovy中编写你的测试用例,它允许你动态添加一个getter方法,你可以使用一些AOP(cglib,aspectJ)来测试方法被调用。 ...
答案 2 :(得分:0)