我有一个功能齐全的Java程序,我现在试图将其放入一个包中,而不是将它放在默认包中。所有.java文件都在mymap
包中,我正在尝试在MyMapTest.java
文件中运行黑盒测试。问题是我现在不知道如何在命令行中正确运行它,因为我已经将它放在一个包中。我试图谷歌寻找答案而陷入困境。
我可以编译:
javac -cp "../junit.jar" *.java;
但是当我尝试像以前那样运行它时......
java -cp .:../junit.jar org.junit.runner.JUnitCore MyMapTest
我的所有测试都收到错误java.lang.NoClassDefFoundError: mymap/MyMap
。我想问题是,我不知道我是不是正确地包括mymap,也许是在类路径中?
同样,我在MyMapWhiteBoxTest.java
中也有白盒测试,此文件也在mymap
包中。我无法弄清楚如何正确运行这些测试。试着以同样的方式运行它,我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: MyMapWhiteBoxTest (wrong name: mymap/MyMapWhiteBoxTest)
对于这两种情况,我都试过mymap/FILE
或者在类路径中也包含了包,但是我肯定错过了一些东西。
答案 0 :(得分:0)
如果MyMapTest类中存在main(),则可以尝试以下命令:
java -cp .:../junit.jar org.junit.runner.JUnitCore myMap.MyMapTest
答案 1 :(得分:0)
编译后:(javac -cp "../junit.jar" *.java;
)你现在的目录有什么?你应该有./myMap/MyMapTest.class文件。