Java 如何在JUnit测试期间自动连接@Configuration类?
我正在测试我的多模块spring boot项目的一个模块 我正在单元测试一个注释为@Configuration的类。有一个方法使用注入@Autowired的类。在JUnit测试期间,我得到了一个空指针,因为自动连线没有工作。如何让它工作 应用程序运行良好,我的问题只发生在JUnit测试上 我尝试了其他答案中的一些注释Java 如何在JUnit测试期间自动连接@Configuration类?,java,unit-testing,spring-boot,Java,Unit Testing,Spring Boot,我正在测试我的多模块spring boot项目的一个模块 我正在单元测试一个注释为@Configuration的类。有一个方法使用注入@Autowired的类。在JUnit测试期间,我得到了一个空指针,因为自动连线没有工作。如何让它工作 应用程序运行良好,我的问题只发生在JUnit测试上 我尝试了其他答案中的一些注释 @RunWith(SpringRunner.class) @ContextConfiguration(classes = {BasicConfiguration.class, So
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = {BasicConfiguration.class, SomeClass.class})
@TestPropertySource(locations= "classpath:applicationTest-configs-ok.properties")
public class BasicConfigurationTest {
@Autowired
BasicConfiguration basicConfig;
@配置
公共类基本配置{
@自动连线
private SomeClass SomeClass;上面的例子有效,问题出在我犯错误的身体上
我的不好。可能重复@Smajl我的问题只是这个JUnit测试,我的应用程序运行良好,basicConfig
注入良好?@antoniosss是的,它创建了完全相同的文件,并且工作正常。你能分享你的完整场景吗?我们关闭它吗?
@Configuration
public class BasicConfiguration {
@Autowired
private SomeClass someClass ; <--- this is not working
@Bean
AnotherClass someMethod(){
return someClass.doSomething(); <--- nullpointer
}
@Component
SomeClass {
@Value("${test.param}")) <--- defined in applicationTest-configs-ok.properties
String myParam;
}