Java 未在JUnit中初始化嵌套的自动连线服务
JUnit测试类Java 未在JUnit中初始化嵌套的自动连线服务,java,junit,junit4,Java,Junit,Junit4,JUnit测试类 @Service public class Service1 { @Autowired private CofigurationDao configDao; @Autowired private DatabaseService databaseService; @Autowired private MiscHtDao miscHtDao; @Autowired private SuperHostServi
@Service
public class Service1 {
@Autowired
private CofigurationDao configDao;
@Autowired
private DatabaseService databaseService;
@Autowired
private MiscHtDao miscHtDao;
@Autowired
private SuperHostService superHostService;
/**
Other methods available
**/
public boolean getDetails(Connection conn) {
superHostService.test();
}
}
@Service
public class SuperHostService {
public void test() {
}
}
@RunWith(PowerMockRunner.class)
@PowerMockIgnore({“javax.management.*,”javax.script.*})
公共类TestMisc{
@注射模拟
私人服务1服务1;
@注射模拟
私有超级主机服务超级主机服务;
@嘲弄
专用数据库服务数据库服务;
@嘲弄
专用连接连接器;
@嘲弄
私有协同配置道configDao;
@试验
public void testGetDebitCardDetails(){
List result=service1.getDetails(databaseService.getDBConnection());
assertNotNull(结果);
}
}
上述方法从getDetails方法引发NullPointerException到期
无法初始化SuperHostService服务。
超级主机服务未初始化
有人能帮我吗?无法理解此服务未初始化的原因。甚至我也尝试过@Spy
注释
@RunWith(PowerMockRunner.class)
@PowerMockIgnore({ "javax.management.*", "javax.script.*" })
public class TestMisc {
@InjectMocks
private Service1 service1;
@InjectMocks
private SuperHostService superHostService;
@Mock
private DatabaseService databaseService;
@Mock
private Connection conn;
@Mock
private CofigurationDao configDao;
@Test
public void testGetDebitCardDetails() {
List<CardDTO> result = service1.getDetails(databaseService.getDBConnection());
assertNotNull(result);
}
}