我正在处理需要在运行每个 JUnit 测试之前执行一些操作的项目。RunListener
使用可以添加到 JUnit 核心的方法解决了这个问题。项目组装是使用 Maven 完成的,所以我的pom
文件中有以下几行:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>cc.redberry.core.GlobalRunListener</value>
</property>
</properties>
</configuration>
</plugin>
所以,一切都使用:
mvn clean test
但是,当使用 IntelliJ(使用其内部测试运行程序)开始测试时,我们RunListener
中编码的操作不会执行,因此无法使用 IntelliJ 基础架构执行测试。
如我所见,IntelliJ 不会从 pom 文件中解析此配置,那么有没有办法明确告诉 IntelliJ 添加RunListener
到 JUnit 核心?可能在配置中使用了一些 VM 选项?
使用漂亮的 IntelliJ 测试环境而不是读取 maven 输出要方便得多。
PS我需要执行的操作基本上是静态环境的重置(我的类中的一些静态字段)。