在 Junit 中测试子类时设置超类变量
Set a variable of superclass while testing subclass in Junit
我有一个 class A 和一个 class B 延伸 class A
class A{
protected String x = "";
Method (){
x = "val";
}
}
class B extends A{
// Uses x in a method
}
如果我为 class B 中的方法编写 Junit 测试用例,我得到 x 的值作为声明时设置的空字符串“”。有没有办法在测试 class B 方法时将 x 的值设置为“val”?
鉴于问题的新范围,您应该能够通过创建类型 B (bObject) 的对象然后从 A 调用 Method() 来设置 x。
B bObject = new B();
bObject.Method();
根据您在问题中显示的方法,这将设置 X。你也可以说
B bObject = new B();
bObject.setX(str);
其中 str 代表您希望 x 用于您的测试用例的任何内容。这假设您在 A 中设置了 getter 和 setter,这通常是最佳做法。
我有一个 class A 和一个 class B 延伸 class A
class A{
protected String x = "";
Method (){
x = "val";
}
}
class B extends A{
// Uses x in a method
}
如果我为 class B 中的方法编写 Junit 测试用例,我得到 x 的值作为声明时设置的空字符串“”。有没有办法在测试 class B 方法时将 x 的值设置为“val”?
鉴于问题的新范围,您应该能够通过创建类型 B (bObject) 的对象然后从 A 调用 Method() 来设置 x。
B bObject = new B();
bObject.Method();
根据您在问题中显示的方法,这将设置 X。你也可以说
B bObject = new B();
bObject.setX(str);
其中 str 代表您希望 x 用于您的测试用例的任何内容。这假设您在 A 中设置了 getter 和 setter,这通常是最佳做法。