我使用标准文件夹结构创建了一个 Maven 项目 - 即 src/main/java、src/test/java 等。
我写了一个类ClassA和一个测试类TestA。
从ClassA的主程序中,我指的是TestA的一个静态成员。
代码可以编译,但是当我运行它时,我得到:NoClassDefFoundError: TestA.
如何从 ClassA 中访问 TestA?
我建议您重新考虑您的测试设计,而不是直接解决您的问题。Maven 完全能够自行运行测试,只需输入
mvn test
在命令行上。如果要运行单个测试类,请输入
mvn test -Dtest=MyTest
对于单一的测试方法,使用
mvn test -Dtest=MyTest#shouldRunPerfectly
它还支持通配符,所以要运行一些常见的测试,你可以输入
mvn test -Dtest=Integration*#shouldBeFaster*
.
大多数 IDE 允许通过快捷方式直接运行测试。如果我没记错的话,Eclipse是Shift++ , AltXIntelliJ是++。IntelliJ还使用++快捷方式导航到您正在使用的类的测试。TShiftCtrlF10CtrlShiftT
Maven 目录结构强调测试与应用程序的分离,使您更难以执行您的计划。
tl;博士 - 以行家的方式做