3

我使用标准文件夹结构创建了一个 Maven 项目 - 即 src/main/java、src/test/java 等。

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

从ClassA的主程序中,我指的是TestA的一个静态成员。

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

如何从 ClassA 中访问 TestA?

4

1 回答 1

4

我建议您重新考虑您的测试设计,而不是直接解决您的问题。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;博士 - 以行家的方式做

于 2013-02-14T11:17:44.517 回答