提问者:小点点

在终端中运行JUnit测试


我不熟悉从终端运行java,目前正在尝试在终端中运行JUnit测试类。我的java类的基本结构是

JavaProject
    Queue.java
    QueueTests.java
    junit.jar
    RunTests

RunTest是一个带有以下代码的脚本。

 #!/bin/sh
 javac Queue.java
 CLASSPATH=".:junit.jar:"; export CLASSPATH
 javac QueueTests.java
 java org.junit.runner.JUnitCore QueueTests

然而,当我运行这个时,我总是从最后一行得到一个“线程中的异常”main“java. lang.NoClassDefFoundError”错误。如果我注释掉最后一行,就没有错误。因此,它似乎无法找到QueueTest.class。然而,查看文件夹,在我运行脚本后很明显,QueueTest.class和QueueTest.class都在那里。我不确定我做错了什么。任何帮助都将不胜感激。


共2个答案

匿名用户

JavaProject文件夹中,执行以下命令:

java -cp .:./junit.jar org.junit.runner.JUnitCore QueueTests

改编你的剧本,那将是

#!/bin/sh
javac Queue.java QueueTests.java
CLASSPATH=".:junit.jar:"
java -cp $CLASSPATH org.junit.runner.JUnitCore QueueTests   

另请参阅以下问题:如何从命令行运行JUnit测试用例

匿名用户

如果您尝试在java中学习和尝试新事物,而无需加载完整/繁重的IDE,同时无需运行冗长的终端命令,我建议您使用像Java博士这样的轻量级javaIDE。

PS:我假设你从终端运行只是为了避免IDE更快地执行和运行这样的小任务的麻烦。