![](/img/trans.png)
[英]How can I use a Maven project as a dependency to another Maven project?
[英]How can I use JUnit Test Runners in Maven project?
我已经创建了具有依赖关系的quickstart maven项目:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
我有源类:
main.java.test.App
和测试班:
test.java.test.AppTest
因此,当我尝试在App类中创建Result对象并使用JUnitCore时,它会返回编译错误,因为in junit依赖项是“ test”。 如果更改或从依赖项中删除范围,则无法从App访问AppTest类。
是否可以在Maven配置中使用Test Runners?
您不能从您的App类访问AppTest。
junit依赖项具有测试范围,这意味着junit依赖项(库)仅用于编译和运行测试,因此无法从您的主代码(通常位于src / main中的App)访问它们。
您的所有测试用例均应位于src / test / java中,并且在运行mvn test
或mvn package
(或任何将测试作为中间目标的目标)时将由maven运行
您永远不应从App类访问Test类(坦率地说,您不能)。
测试代码与您的主代码完全分开。 测试代码可以访问您的主代码,但是您的主代码永远不能访问您的测试代码 。
这个很重要。 您的测试代码应该可以验证您的真实代码。 如果主代码可以访问测试代码,那么您可能会破坏您要验证的内容。
测试依赖项被标记为“测试”范围,以确保Maven知道它们与主代码无关。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.