java - 当类仅包含 JUnit4 注释时,使 Eclipse 默认为 JUnit4 而不是 JUnit5
问题描述
最近对 groovy 的升级带来了 JUnit5,这导致 Eclipse 希望在 JUnit5 下运行每个测试。我可以通过运行配置并告诉 Eclipse 使用 JUnit4 来解决这个问题,但这会变得乏味。
是否可以告诉 Eclipse 始终将 JUnit4 用于特定项目,包括新测试?
解决方案
您只能在 Eclipse 中指定配置文件并激活它。
示例(假设您的问题是由对 的依赖引起的groovy-all
):
<profiles>
<profile>
<id>eclipse-groovy-no-junit5</id>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${groovy.groupId}</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.version}</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>${groovy.groupId}</groupId>
<artifactId>groovy-test-junit5</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
</profile>
</profiles>
然后去
Project -> Properties -> Maven -> Active Maven Profiles
并指定配置文件名称eclipse-groovy-no-junit5
。
备注:groovy.groupId
设置为org.codehaus.groovy
(它是一个变量,因为它将org.apache.groovy
在 4.x 中替换为)并groovy.version
设置为3.0.8
.
如果你想更详细一点,你可以添加......
<activation>
<activeByDefault>false</activeByDefault>
</activation>
...但无论如何它都是默认值。
推荐阅读
- ios - 从结构访问信息
- html - 当有图像时,jQuery问题仅从表格单元格中选择文本
- swift - dyld:未加载库:在实际 iPhone 上安装时
- c++ - 使用具有自动范围和结构化绑定的 C++ 迭代向量矩阵?
- javascript - 我试图访问 DOM 中无线电输入的名称属性,但显然所有名称字段的值都为 false?
- regex - NiFi - 使用先前属性 + 硬编码文本创建新属性的新属性
- c++ - std 线程构造函数是否采用可变线程函数?
- java - FAB on click 根据当前显示的片段开始新活动
- c++ - MSVC 编译器尝试调用已删除的复制构造函数,而不是移动地图元素
- django - 正确的日志配置以禁用 django 错误电子邮件