maven - 如何从 Maven 的主文件夹访问测试类?

标签 maven testing

我创建了一个具有标准文件夹结构的 Maven 项目——即 src/main/java、src/test/java 等。

我写了一个类ClassA和一个测试类TestA。

从ClassA的主程序中,我引用了TestA的一个静态成员。

代码可以编译,但是当我运行它时,我得到:NoClassDefFoundError: TestA。

如何从 ClassA 中访问 TestA?

最佳答案

与其直接解决您的问题,我建议您重新考虑您的测试设计。 Maven 完全可以自行运行测试,只需输入

mvn 测试

在命令行上。如果要运行单个测试类,输入

mvn test -Dtest=MyTest

对于单个测试方法,使用

mvn test -Dtest=MyTest#shouldRunPerfectly

它也支持通配符,所以要运行一些常见的测试,你可以输入

mvn test -Dtest=Integration*#shouldBeFaster*

大多数 IDE 允许通过快捷方式直接运行测试。如果我没记错的话,是 Shift+Alt+X 然后是 T 用于 Eclipse 和 Shift+Ctrl+F10 用于 IntelliJ。 IntelliJ 还使用 Ctrl+Shift+T 快捷方式导航到您正在使用的类的测试.

Maven 目录结构强调测试与应用程序的分离,这使得执行计划变得更加困难。

tl;dr - 用 maven 的方式做

关于maven - 如何从 Maven 的主文件夹访问测试类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14873285/

相关文章:

未创建 Angular 4 代码覆盖文件夹

node.js - Mocha 因 Q promises 的失败断言而超时

python - 从 pyunit 单元测试生成测试覆盖率信息?

java - Eclipse (Mars - 4.5.0) 中的 Maven 插件 "mark invalid"

spring - 强制 maven 到 drools-camel 的最新 Spring 版本

java - 测试未按JUnit5中的指定顺序运行

c# - 有没有办法为 VS2017 即时创建 TestMethods?

testing - 通过标签将 VCR 与 Cucumber 一起使用

Maven 特定的测试过滤器

java - VSCode 是否支持 Maven 项目的 IntelliSense?