gpt4 book ai didi

java - 使用maven项目测试另一个项目

转载 作者:行者123 更新时间:2023-12-01 12:13:38 25 4
gpt4 key购买 nike

我必须执行以下操作:

  • 在 Maven 中创建项目“A”。
  • 创建另一个项目“B”,其中包含“A”的 JUnit 测试
  • 添加maven依赖,以便B用于测试A

有很多资源描述了如何向现有项目添加测试,但我并没有真正找到为单元测试添加另一个项目的方法。

这是我的想法:

项目A

<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>group</groupId>
<artifactId>A</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>group</groupId>
<artifactId>B</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

项目 B(测试)

<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>group</groupId>
<artifactId>B</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>group</groupId>
<artifactId>A</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
</project>

单元测试(占位符)

package group.B;

import org.junit.*;
import group.A.aClass;


public class aClassTest {

@Test
void testTest() {
assert(false); // this should fail, right?
}
}

我正在使用带有 Maven 插件的 Netbeans,正如您所知。两个项目现在互相依赖,依赖关系很好。

提前致谢!

最佳答案

你的上面产生了循环依赖。

我过去这样做不是为了单元测试,而是为了集成测试。我的建议是B依赖于A(A不依赖于B)。在Bsrc/test/java中编写您需要的所有测试。当您在 B 上运行 mvn test 时,它会通过或失败,具体取决于测试是否通过。根据B中的测试,没有办法使A编译失败。

关于java - 使用maven项目测试另一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27133012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com