为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

撒科打诨 2023-02-23 10:12:17
我正在尝试为我的应用程序编写 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;


查看完整回答
反对 回复 2023-02-23
  • 1 回答
  • 0 关注
  • 255 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信