小编Jov*_*cic的帖子

在 Spring Boot 应用程序中分离集成测试

我正在为 SpringBoot 应用程序编写测试。\n我想将集成测试与单元测试分开。\n现在我的项目结构如下所示:

\n\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Demo\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main\n|   |   |   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80java\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 test\n|   |   |   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80java\n
Run Code Online (Sandbox Code Playgroud)\n\n

有没有办法添加这样的模块:

\n\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Demo\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main\n|   |   |   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80java\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 integrationTest\n|   |   |   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80java\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 test\n|   |   |   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80java\n
Run Code Online (Sandbox Code Playgroud)\n\n

我希望新的集成测试模块的行为与测试模块相同,但我不知道如何配置它。我设法将其添加为模块,将integrationTest/java dir标记为测试源根并在其中运行测试,但@SpringBootTest无法解析ApplicationContext,并且我的所有bean始终为空。

\n\n

当我在测试模块中编写相同的测试时,它工作正常。

\n\n

有没有办法做到这一点?\n这是分离集成测试的正确方法吗?\n如果不是,最佳实践是什么?

\n\n

我在 intelliJ 工作,我使用 gradle 作为包管理器。

\n

java spring integration-testing gradle

4
推荐指数
1
解决办法
3660
查看次数

标签 统计

gradle ×1

integration-testing ×1

java ×1

spring ×1