gpt4 book ai didi

java - 防止使用 Hamcrest 与 JUnit 4.x

转载 作者:行者123 更新时间:2023-12-01 17:41:57 25 4
gpt4 key购买 nike

我目前正在使用 JUnit 4.x 和 AssertJ。我想确保 Hamcrest 的使用不会偷偷溜走它。但是,Hamcrest Core 是 JUnit 运行时必需的依赖项,请参阅 Junit issue #1429: A Exception for junit4.12 about org/hamcrest/SelfDescribing #1429 ,因此从 pom.xml 中完全排除依赖项或调整 maven-surefire-plugin 类路径将不起作用。

我正在寻找的是一种调整测试编译器类路径的方法,但我在maven-compiler-plugin中没有找到这样的选项。

如何确保我的测试不使用 Hamcrest 断言?我想在构建时使用 Maven 强制执行此操作。

最佳答案

基于您无法从 JUnit 4 中排除 Hamcrest 的传递依赖性,因为它由 JUnit 本身使用,因此只有几个选项:

  • 迁移到 JUnit Jupiter(又名 JUnit 5)并完全删除 hamcrest 并通过 maven-enforcer-rule 禁止依赖
  • 使用 Arch Unit防止使用
  • 创建 SonarQube 规则
  • 正如 Robert 已经建议的 Checkstyle 规则..
  • 您还可以考虑编写自定义执行器规则吗?
  • 另一个选择是使用 JQAssistant

关于java - 防止使用 Hamcrest 与 JUnit 4.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60000562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com