单元测试使用Java在真实对象中注册模拟对象
我有一个需要测试的类,其中包含两个对象,一个是自动创建的,用于从配置文件连接到SQL server,另一个是从构造函数传入的
public class A{
private SQLCon sqlcon;
private RunObj runObj;
public A (RunObj _runObj) {
this.runObj = _runObj;
}
public void runA() {
sqlcon.connect();
runObj.run2();
}
}
我已经创建了两个测试版本,但都不起作用。使用@injectmock,从构造函数传递的对象将为null
@Mock private SQLCon sqlcon;
@Mock private RunObj runObj;
@InjectMocks private A aobj = new A(runObj);
@Test
pulbic testA (){
aobj.runA();
}
但如果不使用@injectmock,我如何将SQlcon注册为类A中的对象。例如:
@Mock private SQLCon sqlcon;
@Mock private RunObj runObj;
private A aobj = new A(runObj);
@Test
pulbic testA (){
aobj.runA();
}
类A中的sqlcon为空。 如何为此类a创建UT
共 (0) 个答案