从命令行运行JUnit Test:在android项目中运行非android测试

时间:2014-03-26 14:47:00

标签: java android unit-testing junit classpath

我为我们的网站编写了一个API java类,文件API.java存在于Android库项目中,以便我们可以在我们的Android应用程序中使用它。该文件本身不包含特定于Android的代码,并且是该站点的通用Java API。

我想使用JUnit添加此类的自动测试,测试应该通过shell脚本执行。这是我的剧本:

#!/bin/sh                                                                                      
echo Starting test...
java -cp ./Android/iSENSE\ Imports/lib/junit-4.10.jar \
org.junit.runner.JUnitCore ./Android/iSENSE\ Imports/src/edu/uml/cs/isense/test/APITest.java
echo Test complete!

我在要测试的文件的路径/名称上尝试了很多变体。我执行的输出:

Starting test...
JUnit version 4.10
Could not find class: ./Android/iSENSE\ Imports/src/edu/uml/cs/isense/test/APITest.java

Time: 0.001

OK (0 tests)

Test complete!

我不确定如何让JUnit找到我的APITest文件来运行它。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我明白了!我必须将类路径指向Android库项目的编译jar文件,该文件位于bin文件夹中,然后为JUnit提供类的完全限定名称。我的最终脚本如下所示:

#!/bin/sh                                                                                                                  
echo Starting test...
cd ./Android/iSENSE\ Imports/
java -cp ./bin/isense\ imports.jar:./lib/junit-4.10.jar \
org.junit.runner.JUnitCore edu.uml.cs.isense.test.APITest
echo Test complete!