我正在尝试为我的应用程序编写 junit 测试用例。使用 Junit 5 后,我无法使用 @ContextConfiguration 创建必要的 bean。它没有抛出任何错误。但是在测试类中自动装配 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 {@Autowiredprivate ApplicationServiceConfiguration 应用服务配置;@ContextConfigurationpublic class ServiceTestContextConfiguration {@Beanpublic ApplicationServiceConfiguration applicationServiceConfiguration() { return new ApplicationServiceConfiguration();}我正在使用 spring-boot 2。
1 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
可能是我们混合了 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;
添加回答
举报
0/150
提交
取消