我必须做以下事情:
有许多资源描述了如何将测试添加到现有项目中,但我没有找到为单元测试添加另一个项目的方法。
以下是我的想法:
项目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?
}
}
我正在使用Netbeans和Maven插件,所以你知道。两个项目现在彼此,依赖关系很好。
提前致谢!
答案 0 :(得分:1)
您的上述内容会产生循环依赖关系。
我过去做过这个,不是为了单元测试,而是为了进行集成测试。我建议B取决于A(A不依赖于B)。在src/test/java
B
中编写您需要的所有测试。当您在B上运行mvn test
时,它将通过或失败,具体取决于测试是通过还是失败。根据{{1}}中的测试,无法编译A
失败。