当前位置: 首页 > 知识库问答 >
问题:

如何在Spring Boot JUnit测试中排除*AutoConfiguration类?

林德辉
2023-03-14

我试过:

@RunWith(SpringJUnit4ClassRunner.class)
@EnableAutoConfiguration(exclude=CrshAutoConfiguration.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
public class LikeControllerTest {

然而,混乱仍然开始。虽然目前它并不损害测试,但我希望在单元测试期间禁用不必要的模块,以加快速度并避免潜在的冲突。

共有1个答案

云韬
2023-03-14

我认为,如果使用@SpringApplicationConfiguration加载Application类,那么在测试类上使用@enableAutoConfiguration注释是行不通的。问题是在application类中已经有一个@enableAutoConfiguration注释,它不排除CRSHAutoConfigurationSpring使用该注释而不是测试类中的注释来自动配置bean。

我认为最好的办法是为测试使用不同的应用程序上下文,并在该类中排除CRSHAutoConfiguration

我做了一些测试,如果使用@SpringApplicationConfiguration注释和SpringJunit4ClassRunner,似乎完全忽略了测试类上的@enableAutoConfiguration

 类似资料:
  • 问题内容: 我试过了: 但是,CRaSSHD仍会启动。尽管目前它不会损害测试,但我想在单元测试期间禁用不必要的模块,以加快速度并避免潜在的冲突。 问题答案: 最佳答案并不指向更简单,更灵活的解决方案。 只是放置一个 测试类上方的注释。这意味着其他测试不受当前测试的特殊情况的影响。如果存在影响大多数测试的配置,请考虑使用spring配置文件代替当前的最佳答案。 感谢@skirsch鼓励我将其从评论升

  • 在我的根项目中,我有两个子项目具有这种包结构。 在项目1中,我有一个用大规定义的类,就像这样 问题是,如果我运行该测试,它也会分析项目2中的所有内容。我如何排除包com.app.api?

  • 问题内容: 我的文件夹包含单元测试和功能测试。功能测试的类路径中有单词,而单元测试中没有。那么,如何仅运行单元测试? 非常感谢你。 PS :我知道很容易使用“包含”逻辑来选择测试。例如,仅在我的情况下运行功能测试,我可以简单地使用此功能。 但是,我不知道如何以简单的方式排除测试。 顺便说一句,我正在使用gradle 1.11。 问题答案: 任务的文档通过一个示例和所有内容对其进行了说明:

  • 我的项目结构如下: 在Jenkins工作中,根pom是(因为我希望整个项目是为功能覆盖的JaCoCo报告构建的),当运行覆盖报告生成的Maven目标时,我将pom指定为模块FT/pom.xml. 现在,当显示测试结果时,它向我显示了一个总的being=FTs其他模块中的所有单元测试,而我想从报告生成中排除UTs。 但我不认为这与杰科科有关,因为我说的不是杰科科的报告,而是测试结果。单元测试也被计算

  • 我在maven项目中有以下设置。生产性代码的配置类: 然后我有一个测试,它有一个内部: 这门课的测验做得很好。那么我在子包中确实有另一个测试类: 如何避免其他测试中的配置类“泄露”到其他测试中? 我在Spring Boot 1.4.1中看到了使用Spring profiles的集成测试的Spring-boot默认配置文件,而我使用的是Spring Boot 2.0.1。但我相信这是可以做到的。 我

  • 在ArchUnit-Test中,是否有可能从分层测试条件中排除特定的类? 希望我能说清楚...