java - Bean 未注入(inject) jUnit 测试

标签 java spring

我在正确配置 Spring Beans 时遇到问题。我的整个应用程序与 Spring 一起正常工作,我想添加 jUnit 测试。不幸的是,bean 没有正确注入(inject)。 我在同一模块中有两个目录。 我的整个应用程序都在里面:

/src/main/java/main/

它工作正常,我添加了 RestTest.java 和 BeanTestConfiguration.java 里面:

/src/test/java/main/

@SpringBootTest
@RunWith(Spring.Runner.class)
@ContextConfiguration(classes=BeanTestConfiguration.class)
class RestTest {

    @Autowired
    public String testString;


    @Test
    public void send() {
        System.out.println(testString);
        Assert.assertNotNull(testString);
    }
}

并配置BeanTestConfiguration

@Configuration
public class BeanTestConfiguration {
    @Bean
    public String testString() { return new String("Hello"); }
}

不幸的是,当我对发送方法运行测试时,系统输出打印 null,并且 Assert 抛出失败。 我将 Spring 应用程序上下文添加到 IntelliJ 内的项目结构

最佳答案

谢谢大家的帮助。我发现我的进口有问题。我的 @Test 注释来自 jUnit 5,而我的 SpringRunner 内部注释来自 jUnit 4,因此 Spring 无法正常工作并且未注入(inject) Bean。

我想再次感谢大家。

关于java - Bean 未注入(inject) jUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51634985/

相关文章:

java - 为数字和单词设置unicode的正则表达式

java - 将两个 ArrayList 转换为 String[][]

java - 拦截器在 Spring Boot GraphQL 中不起作用

java - 我的 Android 应用程序在 Java 中的启动器图标出现问题

java.util.LinkedList.removeFirst 处的 java.util.NoSuchElementException(LinkedList.java :270)

java - Spring 启动 + LocalDate : "No primary or default constructor"

java - Spring Data CrudRepository 应用自动级联类型

java - 使用 Spring 构建 RESTful Web 服务时如何在 Web 浏览器中显示更改?

java - 如何在 IBM Cloud Functions 中检查 POST 正文?

Spring Boot 2.0.0.M1错误由: java. lang.ClassNotFoundException : org. springframework.aop.framework.AopProxyUtils引起