Closed lingyunlujixin closed 3 years ago
如果需要Mock在TestedClassB
内发生的调用,需要在TestedClassBMock
或TestedClassBTest.Mock
类中定义相应的替代Mock方法。
TestableMock
的设计假设”所有单元测试都是针对目标业务类内部方法逻辑的功能验证“,因此Mock只会对关联的业务类内部的调用生效,不会对业务类以外的代码(包括其父类的代码)起作用。对于不符合这种情况测试场景,TestableMock
依然可以兼容,但会使得Mock方法的定义需要相应分散到多个Mock容器类里。
如果需要Mock在
TestedClassB
内发生的调用,需要在TestedClassBMock
或TestedClassBTest.Mock
类中定义相应的替代Mock方法。
TestableMock
的设计假设”所有单元测试都是针对目标业务类内部方法逻辑的功能验证“,因此Mock只会对关联的业务类内部的调用生效,不会对业务类以外的代码(包括其父类的代码)起作用。对于不符合这种情况测试场景,TestableMock
依然可以兼容,但会使得Mock方法的定义需要相应分散到多个Mock容器类里。
thankx
版本:0.6.2 问题:mock被测试类的父类中的成员变量(protected)的方法无法生效 例子:
// 被测试类 public class TestedClassA extends TestedClassB {
// 被测试方法1 public void methodOfMain() { mothedOfB(); }
// 被测试方法2 public void methodOfSecond() { cInClassA.methodOfC(); } }
public class TestedClassB {
}
public class TestedClassC {
}
// 测试类 public class TestedClassATest {
}