嵌套自动接线服务未在JUnit

问题描述

@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() {
    }
}

JUnit测试类

@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);
    }   
}

从getDetails方法抛出NullPointerException的上述方法到期 不初始化SuperHostService服务。 SuperHostService未初始化。

有人可以帮我吗?无法理解为什么SuperHostService此服务未初始化。甚至我也尝试过使用@Spy批注

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)