我正在尝试运行我在IntelliJ中创建的测试类。当我在IntelliJ中运行它时,测试通过了。但是,我希望能够编写脚本,因此我尝试通过commandLine运行测试。
我从这个目录运行以下命令:$ PROJECT_HOME / output / test / com / proj1 / ome
java -cp .:$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore ClassATest
它给了我以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: ClassATest (wrong name: com/proj1/ome/ClassATest)
我读到这是因为你无法从包中运行项目。所以我深入到底层(我读过的Stack Overflow帖子推荐)并从那里尝试过。所以现在我从这个目录运行以下命令:$ PROJECT_HOME / output / test / com
java -cp .:/$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore ClassATest
java -cp .:/$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore proj1/ome/ClassATest
这些给了我以下输出
JUnit version 4.11
Could not find class: ClassATest
Time: 0.001
OK (0 tests)
然后我尝试再下一个目录并再次尝试,但得到了相同的结果。
非常感谢任何关于我出错的想法。
由于
答案 0 :(得分:2)
您应该在$ PROJECT_HOME / output / test目录中。然后运行:
java -cp .:/$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore com.proj1.ome.ClassATest