首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tycho集成测试没有运行(但是单元测试是..)

Tycho集成测试没有运行(但是单元测试是..)
EN

Stack Overflow用户
提问于 2022-02-05 17:39:30
回答 1查看 326关注 0票数 2

我有一个带有插件和片段的多模块项目来测试这个插件。构建是通过maven/tycho完成的。Maven诉3.8.4和Tycho v2.6.0。

在片段中,我有3个单元和1个集成测试,在测试文件夹中:

代码语言:javascript
复制
test
   ├── CoreTestConstants.java
   ├── CoreUtils2Test.java
   ├── CoreUtils3Test.java
   ├── CoreUtilsIT.java
   └── CoreUtilsTest.java

这是片段插件的pom:

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>com.tycho.rcp.core.test</artifactId>
     <version>0.2.4-SNAPSHOT</version>
     <packaging>eclipse-test-plugin</packaging>

     <parent>
          <groupId>com.tycho</groupId>
          <artifactId>com.tycho.mps</artifactId>
          <version>0.3.4-SNAPSHOT</version>
          <relativePath>..</relativePath>
     </parent>

     <build>
          <sourceDirectory>src</sourceDirectory>
          <plugins>
               <plugin>
                    <groupId>org.eclipse.tycho</groupId>
                    <artifactId>tycho-surefire-plugin</artifactId>
                    <executions>
                         <execution>
                              <id>it-test</id>
                              <phase>integration-test</phase>
                              <goals>
                                   <goal>integration-test</goal>
                              </goals>
                         </execution>
                    </executions>

                    <configuration>
                         <testSourceDirectory>src</testSourceDirectory>
                         <testClassesDirectory>target/classes</testClassesDirectory>

                         <!-- workspace directory -->
                         <osgiDataDirectory>${mas.test.workspace}</osgiDataDirectory>

                         <!-- system properties -->
                         <systemProperties>
                              <mas.test.archive_location>${mas.test.archive_location}</mas.test.archive_location>
                         </systemProperties>

                         <!-- add slf4j implementation dependency from Orbit -->
                         <dependencies>
                              <dependency>
                                   <groupId>org.eclipse.orbit.bundles</groupId>
                                   <artifactId>ch.qos.logback.slf4j</artifactId>
                                   <version>1.1.2</version>
                                   <type>eclipse-plugin</type>
                              </dependency>
                         </dependencies>
                    </configuration>
               </plugin>
          </plugins>
     </build>
</project>

在父项目的pluginManagement中启用了tycho-surefire-plugin:

代码语言:javascript
复制
<plugin>
   <groupId>org.eclipse.tycho</groupId>
   <artifactId>tycho-surefire-plugin</artifactId>
   <version>${tycho.version}</version>
</plugin>

3单元测试是正确执行的,但是IT测试永远不会运行!这是输出的相关部分,当我在片段项目中运行mvn clean verify时:

代码语言:javascript
复制
[INFO] --- tycho-surefire-plugin:2.6.0:test (default-test) @ com.marchesini.mas.rcp.core.test ---
[INFO] Executing Test Runtime with timeout 0, logs (if any) will be placed at: /home/gionata/runtime-EclipseApplication/.metadata/.log
[INFO] Command line:
    [/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.fc31.x86_64/bin/java, -Dosgi.noShutdown=false, -Dosgi.os=linux, -Dosgi.ws=gtk, -Dosgi.arch=x86_64, -Dosgi.clean=true, -Dmas.test.archive_location=/home/gionata/ARCHIVIO.BLK, -jar, /home/gionata/.m2/repository/p2/osgi/bundle/org.eclipse.equinox.launcher/1.5.100.v20180827-1352/org.eclipse.equinox.launcher-1.5.100.v20180827-1352.jar, -data, /home/gionata/runtime-EclipseApplication, -install, /home/gionata/Workspace_Eclipse_Maven/MAS/MPS/com.marchesini.mas.rcp.core.test/target/work, -configuration, /home/gionata/Workspace_Eclipse_Maven/MAS/MPS/com.marchesini.mas.rcp.core.test/target/work/configuration, -application, org.eclipse.tycho.surefire.osgibooter.headlesstest, -testproperties, /home/gionata/Workspace_Eclipse_Maven/MAS/MPS/com.marchesini.mas.rcp.core.test/target/surefire.properties]
Running com.marchesini.mas.rcp.core.test.CoreUtils2Test
Logger launcher start...4
2022-02-05 18:36:11,221 DEBUG [main]: CHECKSUM 2 = 340351cde832c00505c88f3fe1a962d4
2022-02-05 18:36:11,442 DEBUG [main]: Workspace = /home/gionata/runtime-EclipseApplication
2022-02-05 18:36:11,442 DEBUG [main]: Archive location = /home/gionata/ARCHIVIO.BLK
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.569 s - in com.marchesini.mas.rcp.core.test.CoreUtils2Test
testCoreUtils2(com.marchesini.mas.rcp.core.test.CoreUtils2Test)  Time elapsed: 0.226 s
Running com.marchesini.mas.rcp.core.test.CoreUtilsTest

#################################################################################
REPORT
CHECKSUM = 340351cde832c00505c88f3fe1a962d4

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 s - in com.marchesini.mas.rcp.core.test.CoreUtilsTest
testCoreUtils(com.marchesini.mas.rcp.core.test.CoreUtilsTest)  Time elapsed: 0.002 s
Running com.marchesini.mas.rcp.core.test.CoreUtils3Test
Logger launcher start...4
2022-02-05 18:36:11,537 DEBUG [main]: CHECKSUM 3 = 340351cde832c00505c88f3fe1a962d4
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.024 s - in com.marchesini.mas.rcp.core.test.CoreUtils3Test
testCoreUtils3(com.marchesini.mas.rcp.core.test.CoreUtils3Test)  Time elapsed: 0.001 s

Results:

Tests run: 3, Failures: 0, Errors: 0, Skipped: 0

[INFO] All tests passed!
[INFO] 
[INFO] --- tycho-surefire-plugin:2.6.0:integration-test (it-test) @ com.marchesini.mas.rcp.core.test ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

执行it-test根本不运行任何东西!我在这上面浪费了几个小时..。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-11 10:25:32

首先,如果您遵循默认约定,则不应该添加任何特定的配置。此外,像<testSourceDirectory>src</testSourceDirectory>这样的参数不会被tycho插件读取。此外,没有必要为您所需要的创建产品或功能。它不能工作的原因是因为一个bug:https://github.com/eclipse/tycho/issues/643

在附带说明中,我更新了发布说明https://github.com/eclipse/tycho/pull/641,试图更好地记录新目标背后的基本原理(但是,同样,由于错误,它无法工作)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71000526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档