gpt4 book ai didi

java - 如何在 JUnit 测试期间在 @Configuration 类内部 Autowiring ?

转载 作者:行者123 更新时间:2023-12-02 10:02:58 24 4
gpt4 key购买 nike

我正在测试我的多模块 Spring Boot 项目的一个模块。

我正在对一个注释为@Configuration的类进行单元测试。有一种方法使用通过 @Autowired 注入(inject)的类。在 JUnit 测试期间,我得到了一个 NullPointer,因为 Autowired 不起作用。如何让它发挥作用?

应用程序工作正常,我的问题只发生在 JUnit 测试上。

我尝试了在其他答案中找到的一些注释

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = {BasicConfiguration.class, SomeClass.class})
@TestPropertySource(locations= "classpath:applicationTest-configs-ok.properties")
public class BasicConfigurationTest {

@Autowired
BasicConfiguration basicConfig;
@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;
}

应该注入(inject)someClass

最佳答案

上面的例子是有效的,问题出在我犯了一些错误的主体中。

我的错。

关于java - 如何在 JUnit 测试期间在 @Configuration 类内部 Autowiring ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55497729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com