我在我的项目中使用了Java 8、JUNIT和Mockito,但我还在学习单元测试的艺术,所以需要你的帮助。
在我的方案中--> class B extends Class A
CLass B包含一个公共方法 mOfB()
类A包含一个方法 mOfA()
我想把我的方法JUnit化 mOfB()
.
mOfB()
包含对 mOfA()
. 而且 mOfA()
返回一个 List<Employee>
Employee
是一个具有少数属性的原始数据类型的对象,并且是一个具有 Map<Depts, CostCentre>
在这里我应该如何对待JUnit测试?
声明:就像@Chris在他的评论中提到的那样,如果你组成的B类包含对A类的引用,那是最好的。
说到这里,有一个技巧你可以做的是将你自己的代码提取到B类中的一个不同的方法中,然后代替它进行测试。把这个
class B {
@Override
String methodInheritedFromA() {
return "ABC" + super.methodInheritedFromA();
}
}
改成that:
class B {
@Override
String methodInheritedFromA() {
return classBFunctionality() + super.methodInheritedFromA();
}
String classBFunctionality() {
return "ABC";
}
}
然后测试 classBFunctionality
方法而不是 methodInheritedFromA
.