我使用标准文件夹strucure创建了一个Maven项目 - 即src / main / java,src / test / java等。
我写了一个ClassA类和一个TestA测试类。
从ClassA的主程序,我指的是TestA的静态成员。
代码编译,但是当我运行它时,我得到:NoClassDefFoundError:TestA。
如何从ClassA中访问TestA?
答案 0 :(得分:4)
我建议您重新考虑您的测试设计,而不是直接解决您的问题。 Maven完全有能力独立运行测试,只需输入
即可 mvn test
。如果要运行单个测试类,请输入
mvn test -Dtest=MyTest
对于单一测试方法,请使用
mvn test -Dtest=MyTest#shouldRunPerfectly
它还支持通配符,因此要运行一些常见测试,可以键入
mvn test -Dtest=Integration*#shouldBeFaster*
。
大多数IDE允许通过快捷方式直接运行测试。如果我没记错的话,那就是 Shift + Alt + X 然后 Eclipse的T 和IntelliJ的 Shift + Ctrl + F10 。 IntelliJ还使用 Ctrl + Shift + T 快捷方式导航到您正在使用的类的测试
Maven目录结构强调了测试与应用程序的分离,使得您更难以按照计划进行操作。
tl; dr - 以maven的方式做到这一点