使用Mockito,我想模拟一个类的属性,以便我可以验证输出。
我需要注入 Output 类的模拟对象,以验证我的代码是否写入了正确的输出。
但是我不能只使用 @InjectMock,因为 setup() 方法是在运行时中间调用的,并会覆盖我的注入。
而且我不能只是将 MyClass 中的 setup 公开,因为我正在使用的测试代码是通用的,需要对所有 ThirdPartyFramework 的子类起作用,因此我只有对 ThirdPartyFramework 的引用,这意味着 setup() 是受保护的。
public class MyClass extends ThirdPartyFramework {
Output goesHere;
@Override
protected setup(){
goesHere = new Output();
}
//...
}
public abstract class ThirdPartyFramework {
protected setup(){...}
//...
}
我需要注入 Output 类的模拟对象,以验证我的代码是否写入了正确的输出。
但是我不能只使用 @InjectMock,因为 setup() 方法是在运行时中间调用的,并会覆盖我的注入。
而且我不能只是将 MyClass 中的 setup 公开,因为我正在使用的测试代码是通用的,需要对所有 ThirdPartyFramework 的子类起作用,因此我只有对 ThirdPartyFramework 的引用,这意味着 setup() 是受保护的。