为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Maven 项目中使用 JUnit 测试运行器?

如何在 Maven 项目中使用 JUnit 测试运行器?

犯罪嫌疑人X 2021-09-12 15:47:14
我创建了带有依赖项的快速入门 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 时,它返回编译错误,因为在 junit 依赖项是“test”。如果我更改或删除依赖项的范围,我将无法从 App 访问 AppTest 类。是否不可能在 Maven 配置中使用测试运行器?
查看完整描述

2 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

永远不应该从 App 类访问 Test 类(坦率地说,你不能)。

测试代码与您的主代码完全分离。测试代码可以访问您的主代码,但您的主代码永远无法访问您的测试代码

这个很重要。您的测试代码应该验证您的真实代码。如果主代码可以访问测试代码,那么您可能会破坏您试图验证的内容。

测试依赖项被标记为“测试”范围,以确保 Maven 知道它们与主代码无关。


查看完整回答
反对 回复 2021-09-12
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

您无法从 App 类访问 AppTest。

junit 依赖项有一个测试范围,这意味着 junit 依赖项(库)仅用于编译和运行测试,因此无法从您的代码(即 App 通常位于 src/main 中)访问它们。

您的所有测试用例都应位于 src/test/java 中,并且在运行mvn testmvn package(或任何将测试作为中间目标的目标)时由 maven 运行


查看完整回答
反对 回复 2021-09-12
  • 2 回答
  • 0 关注
  • 138 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信