【发布时间】:2018-03-28 13:18:55
【问题描述】:
抱歉,这是一个愚蠢的问题。我想对以下课程进行单元测试(该课程还有更多内容,但我将其剥离以说明我的问题)。
该类由多个在构造函数中分配的布尔字段组成。
当我进行单元测试时,如何测试将参数分配给正确的类字段,例如ans1 -> mIsOption1Ans ?
例如,如果我断言所有类字段都是“真”,这将无法识别其他开发人员是否意外交换了构造函数中的赋值并将参数分配给错误的类字段。我想测试一下“ans1”总是被分配给“mIsOption1Ans”等等
public class MultipleChoiceQuizAnswer {
private Boolean mIsOption1Ans,mIsOption2Ans,mIsOption3Ans,mIsOption4Ans;
public QuizAnswer (Boolean ans1,Boolean ans2, Boolean ans3,Boolean ans4) {
mIsOption1Ans = ans1;
mIsOption2Ans = ans2;
mIsOption3Ans = ans3;
mIsOption4Ans = ans4;
}
}
【问题讨论】:
-
您可以使用反射来检查私有字段的值。或者使用访问器(getter)
-
创建并读取,测试它们中的每一个:ans1,2,3,4 = 1,0,0,0 => 预期读取:1,0,0,0,然后是 1,2, 3,4 = 0,1,0,0 => 预期 0,1,0,0 ...然后是 0010,然后是 0001。如果所有这些都成功,您已经测试过每个 ansn 都被断言到相应的 mIsOption 和 只有那个。
-
感谢 Fildor 好主意,这就是我试图解决的问题
-
你有这些领域的吸气剂吗?
-
访问私有变量不是问题。我试图测试布尔参数的正确分配,菲尔多的回答解决了我的问题。非常感谢