我有一个服务,我试图在我的测试中注入各种类,但我得到它的实例为空。
我的配置界面:
MyService.java
public interface MyService {
public String getHostUri();
}
我这个接口的实现类:MyServiceImpl.java
public class MyServiceImpl implements MyService {
private static final String BASE_HOST_URI_CONFIG = "localhost:4444";
@Override
public String getHostUri() {
return BASE_HOST_URI_CONFIG;
}
我的带有 bean 的 Spring 配置类:
@Configuration
public class AutomationSpringConfig {
@Bean
public MyService getMyService(){
return new MyServiceImpl();
}
}
我的 testNG 课程:
@ContextConfiguration(classes=AutomationSpringConfig.class ,loader =AnnotationConfigContextLoader.class)
public class BasicAutomatedTest extends AbstractTestNGSpringContextTests {
private static final Logger LOGGER = Logger.getLogger(BasicAutomatedTest.class);
@Inject
private MyService myService;
@Test
public void basicTest {
Setup setup = new Setup();
LOGGER.info(myService.getHostUri());
LOGGER.info(setup.myService.getHostUri());
}
}
我无法在其中进行注射的助手类:
public class Setup {
@Inject
public MyService myService;
}
因此,当我尝试通过 BasicAutomatedTest 的 basicTest 方法中的设置对象获取 hostUri 时,我得到了 NullPointerException。所以我无法在 Setup 类中注入 MyService bean。