如何使用Maven运行JUnit5测试(作为插件安装到eclipse应用程序中)
首先:是的,我已经搜索并基本上尝试了所有我能在这里和其他博客上找到的东西。 我是一名实习生,在升级了所有依赖项和eclipse本身之后,我试图让项目重新运行。特别是,该项目升级到64位和Junit5。因此,一般所需的项目结构等以前是有效的,但现在我必须将Junit4迁移到Junit5 项目结构: 我有一个多包设置,其中包含我们的产品(一个eclipse应用程序)、一个包含所有测试类的“tests-plugin”包和一个额外的“test.suite”包,其中包含一个测试套件来执行前一个插件的测试(以避免循环依赖)。测试套件包的pom包含所有构建逻辑,即:如何使用Maven运行JUnit5测试(作为插件安装到eclipse应用程序中),eclipse,maven,pom.xml,junit5,tycho,Eclipse,Maven,Pom.xml,Junit5,Tycho,首先:是的,我已经搜索并基本上尝试了所有我能在这里和其他博客上找到的东西。 我是一名实习生,在升级了所有依赖项和eclipse本身之后,我试图让项目重新运行。特别是,该项目升级到64位和Junit5。因此,一般所需的项目结构等以前是有效的,但现在我必须将Junit4迁移到Junit5 项目结构: 我有一个多包设置,其中包含我们的产品(一个eclipse应用程序)、一个包含所有测试类的“tests-plugin”包和一个额外的“test.suite”包,其中包含一个测试套件来执行前一个插件的测试(
- 一些产品包
- 测试插件包(包含测试类)
- 测试套件包(包含“测试套件”和带有“tycho”和安装工作流的pom
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<testClassesDirectory>../xxx.tests\src\[some dirs]\tests</testClassesDirectory>
<includes>
<include>**/*Test.xtend</include>
</includes>
<failIfNoTests>false</failIfNoTests>
<useUIHarness>true</useUIHarness>
<useUIThread>false</useUIThread>
<argLine>${tycho.testArgLine} ${memoryArgs}</argLine>
<work>${test-work-directory}</work>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<testClassesDirectory>../xxx.tests\src\[some dirs]\tests</testClassesDirectory>
<includes>
<include>**/*Test.xtend</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
org.eclipse.tycho
第谷surefire插件
${tycho版本}
../xxx.tests\src\[某些目录]\tests
**/*Test.xtend
假的
真的
假的
${tycho.testArgLine}${memoryArgs}
${测试工作目录}
org.apache.maven.plugins
maven故障保护插件
2.19.1
集成测试
验证
../xxx.tests\src\[某些目录]\tests
**/*Test.xtend
我尝试不使用路径,也让它们指向已编译和未编译的目录
致以最诚挚的问候我花了一个多月的时间在这上面,仅仅在发帖后一天,我意外地找到了解决方案……但我并不抱怨 解决方案:
- 在该插件的两个文件(*plugin.java、.project)中有一个拼写错误,编译器没有找到,只有手动搜索。它来自旧的重命名周期,但maven或eclipse没有抛出错误
- 正如我所说,我们使用了一个命令行参数将maven指向测试套件。显然,这不再是必要的。我不知道这是否是junit5的事情,但是“osgi”环境中的测试类(它们打包并作为插件安装)在我没有提供任何指向maven的testclass链接的情况下都可以找到
- 在该插件的两个文件(*plugin.java、.project)中有一个拼写错误,编译器没有找到,只有手动搜索。它来自旧的重命名周期,但maven或eclipse没有抛出错误
- 正如我所说,我们使用了一个命令行参数将maven指向测试套件。显然,这不再是必要的。我不知道这是否是junit5的事情,但是“osgi”环境中的测试类(它们打包并作为插件安装)在我没有提供任何指向maven的testclass链接的情况下都可以找到