【问题标题】:Resolve dependencies with maven in java在java中使用maven解决依赖关系
【发布时间】:2016-05-05 21:14:29
【问题描述】:

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

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

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

【问题讨论】:

  • 你的测试应该在 /src/test/java 下。这个模块组织已经打包在 jar 中了?
  • 是的,测试在 /src/test/java 下。每个模块都有自己的测试和 pom.xml。我正在使用以下示例来检索类,但正如我所说,我无法从单元测试中访问这些类stackoverflow.com/questions/13128552/…
  • 所以你正在尝试编写一个 Maven 插件?是的,其他模块有什么用?
  • 我正在尝试为我正在处理的项目编写一个 Maven 插件。其他模块是项目的主要模块,除了通常的类之外,它还包含类的单元测试,这就是我想要获得的单元测试类
  • 为什么 mojo 必须检索单元测试类?单元测试验证常规的 java 代码。当单元测试通过时,Roma locuta,导致 finita,常规代码是可以的,不再需要单元测试。

标签: java maven unit-testing


【解决方案1】:

更新响应,因为您告诉我们模块的依赖关系。 最好的方法是: - 使用 maven 构建的 moduleA、moduleB、moduleC
- 生成测试罐子:添加到你的 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 正在集成所有模块以执行所有测试(根据您的要求)。

【讨论】:

  • 我无法将这些依赖项添加到 moduleD,因为它正在创建循环引用。注释位于 moduleD 中,其他模块具有依赖 moduleD 以便在类上添加注释。
  • 应该将moduleE添加到全局测试
  • 我正在更新你的问题
  • 你能解释一下我应该用moduleE做什么吗?我从未使用过全局测试或找到可以帮助我的数据
猜你喜欢
  • 2019-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多