java - java中使用maven解决依赖关系

标签 java maven unit-testing

我正在尝试制作一个 mojo,它可以从具有我所做的特定注释的所有模块中获取所有单元测试。问题是我无法从任何模块访问单元测试。
模块结构如下所示:

|--ModuleA (depends on Module D)
|--ModuleB (depends on Module D)
|--ModuleC (depends on Module D)
|--ModuleD (the mojo)

问题是当 mojo 运行时如何访问或检索每个模块的单元测试类。

最佳答案

自从您告诉我们模块的依赖关系以来,更新了响应。 最好的方法是: - 使用maven构建的模块A、模块B、模块C
- 生成测试 jar :添加到您的 pom

 <plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <executions>
       <execution>
          <id>test-jar</id>
          <phase>package</phase>
          <goals>
             <goal>test-jar</goal>
          </goals>
       </execution>
    </executions>
 </plugin>
  • moduleD 依赖于 moduleA.jar、moduleB.jar、moduleC.jar 和 moduleA-test.jar、moduleB-test.jar、moduleC-test.jar

  • 为每个模块添加 moduleE 的 pom.xml :

      <dependency>
         <groupId>com.rizze</groupId>
         <artifactId>moduleA</artifactId>
         <version>1.0.0</version>
      </dependency>
     <dependency>
         <groupId>com.rizze</groupId>
         <artifactId>moduleB</artifactId>
         <version>1.0.0</version>
      </dependency>
    
     <dependency>
         <groupId>com.rizze</groupId>
         <artifactId>moduleC</artifactId>
         <version>1.0.0</version>
      </dependency>
    
  • 模块 E 在这里按照您想要的顺序调用模块 A、B、C、D 的所有测试。模块 E 正在集成所有模块,以便执行所有测试(根据您的要求)。

关于java - java中使用maven解决依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37060371/

相关文章:

node.js - 使用 Jest 模拟模块无法正常工作

java - 已弃用 Time().getHours() 与 Calendar.getInstance().get(Calendar.HOUR_OF_DAY); VsLocalDateTime.now().getHour();

java - 值事件监听器返回 Null

java - 使用 Maven 模块化项目

maven - 如何通过 Maven 仅复制操作系统特定的依赖项 jar?

c# - Linq Join 的摩尔

java - 为什么会抛出 ConcurrentModificationException 以及如何调试它

java - 为什么要从类外访问 protected 成员?

maven - 将gradle/sbt/maven项目转换为裤子构建系统

ruby - 如何使用 RSpec 模拟接受然后调用 block 回调的 API?