首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从不同的文件夹运行测试?

如何从不同的文件夹运行测试?
EN

Stack Overflow用户
提问于 2020-04-27 21:49:10
回答 1查看 124关注 0票数 0

我有个项目

代码语言:javascript
复制
my-tests
  src
    test
      java
        my
          demo
srv
  src
    main
      java
        my
          demo

我想在srv上运行mvn全新安装,然后运行来自我的测试的测试。我尝试将插件添加到srv的pom.xml中。

代码语言:javascript
复制
<plugin>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>build-helper-maven-plugin</artifactId>
 <version>1.12</version>
 <executions>
   <execution>
     <id>add-test-source</id>
     <goals>
       <goal>add-test-source</goal>
     </goals>
     <configuration>
       <sources>
         <source>../my-tests</source>
       </sources>
     </configuration>
   </execution>
 </executions>
</plugin>

我得到了一个编译错误

代码语言:javascript
复制
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.592 s
[INFO] Finished at: 2020-04-27T16:35:14+03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project sapinttest-srv: Compilation failure: Compilation failure:
[ERROR] /C:/Users/Downloads/app/integration-tests/src/test/java/my/company/HelloWorldServletTest.java:[3,22] package io.restassured does not exist
[ERROR] /C:/Users/Downloads/app/integration-tests/src/test/java/my/company/HelloWorldServletTest.java:[4,47] package org.jboss.arquillian.container.test.api does not exist
[ERROR] /C:/Users/Downloads/app/integration-tests/src/test/java/my/demo/HelloWorldServletTest.java:[5,34] package org.jboss.arquillian.junit does not exist
[ERROR] /C:/Users/Downloads/app/integration-tests/src/test/java/my/demo/HelloWorldServletTest.java:[6,37] package org.jboss.arquillian.test.api does not exist
[ERROR] /C:/Users/Downloads/app/integration-tests/src/test/java/my/demo/HelloWorldServletTest.java:[7,37] package org.jboss.shrinkwrap.api.spec does not exist
[ERROR] /C:/Users//Downloads/app/integration-tests/src/test/java/my/demo/HelloWorldServletTest.java:[8,17] package org.junit does not exist

当我尝试从my-tests文件夹中运行测试时,编译正常,但测试没有运行mvn clean install -DskipTests=false

你能给我提个建议吗?

EN

回答 1

Stack Overflow用户

发布于 2021-08-26 07:49:26

修复编译错误

错误消息指出找不到某些第三个库程序包。

作为my-tests一个Maven模块,您应该将包含这些包的依赖项添加到它的pom.xml中。

pom.xml

代码语言:javascript
复制
<project>
   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.13.2</version>
         <scope>test</scope>
      </dependency>
      <!-- TODO: Add other dependencies here. -->
   </dependencies>
   ...
</project>

要查找包含包的依赖项,可以使用以下条件在Maven Central上进行搜索:

代码语言:javascript
复制
fc:package-name

例如:

代码语言:javascript
复制
fc:org.jboss.arquillian.junit

直接链接:https://search.maven.org/search?q=fc:org.jboss.arquillian.junit

更改测试文件夹

如果您的目标只是在不同于src/test/java的文件夹上运行测试,那么您应该更改testSourceDirectory属性。

pom.xml

代码语言:javascript
复制
<project>
   <build>
      <testSourceDirectory>${project.basedir}/src/custom-test-folder/java</testSourceDirectory>
   </build>
   ...
</project>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61460412

复制
相关文章

相似问题

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