gpt4 book ai didi

java - 无法在 junit 5 中使用 @ContextConfiguration 创建用于测试的 bean

转载 作者:行者123 更新时间:2023-12-03 16:38:39 24 4
gpt4 key购买 nike

我正在尝试为我的应用程序编写 junit 测试用例。使用 Junit 5 后,我无法使用 @ContextConfiguration 创建必要的 bean。

它没有抛出任何错误。但是在测试类中 Autowiring bean 时,我得到了空值

我添加了以下依赖项

testImplementation "org.junit.jupiter:junit-jupiter-api:5.3.0"
testCompile('org.junit.jupiter:junit-jupiter-params:5.3.0')
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.3.0"

和我的代码
@ContextConfiguration(classes = ServiceTestContextConfiguration.class)
public class ApplicationConfigTest {

@Autowired
private ApplicationServiceConfiguration

应用服务配置;
@ContextConfiguration
public class ServiceTestContextConfiguration {
@Bean
public ApplicationServiceConfiguration applicationServiceConfiguration() {
return new ApplicationServiceConfiguration();
}

我正在使用 spring-boot 2。

最佳答案

可能是我们混合了 junit4 和 junit5 的进口。让我们用 @Configuration 注释配置类( org.springframework.context.annotation.Configuration; )。

在主要的单元测试中,让我们使用以下内容,

@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = ServiceTestContextConfiguration.class)

而不是 @Before , 使用 @BeforeEach并确保所有进口都来自junit5(包括断言)
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

关于java - 无法在 junit 5 中使用 @ContextConfiguration 创建用于测试的 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56789264/

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