【问题标题】:JUnit run tests command lineJUnit 运行测试命令行
【发布时间】:2012-10-30 19:45:52
【问题描述】:

我有以下结构

lib/junit-4.10.jar
tests/Tester.java
tests/Tester.class
build/jar/jar_file.jar

(Tester 属于包测试)

我可以编译测试使用

javac -cp build/jar/jar_file.jar:lib/junit-4.10.jar tests/*.java

但是我似乎无法运行测试:

java -cp build/jar/jar_file.jar:lib/junit-4.10.jar org.junit.runner.JUnitCore tests.Tester

java -cp build/jar/jar_file.jar:lib/junit-4.10.jar org.junit.runner.JUnitCore Tester

我得到以下输出:

JUnit version 4.10
Could not find class: tests.Tester

Time: 0.001

OK (0 tests)

如何解决这个Could not find class 问题?我认为这可能与类路径有关。

【问题讨论】:

    标签: java junit


    【解决方案1】:

    假设这是 Linux/Mac(不是 Windows)并且您的路径分隔符是正确的 (:),因为您的测试类文件存在于当前工作目录 (.) 下的包子目录中 您需要添加“。”到你的类路径,例如:

    java -cp .:build/jar/jar_file.jar:lib/junit-4.10.jar org.junit.runner.JUnitCore tests.Tester
    

    【讨论】:

    • 我遇到了同样的问题,但是添加了 .没有帮助
    【解决方案2】:

    类路径应该用分号分隔(在 Windows 上 - 不确定您使用的是什么。)

    java -cp build/jar/jar_file.jar;lib/junit-4.10.jar org.junit.runner.JUnitCore tests.Tester
    

    同样使用此命令行,您需要在项目根目录中运行它

    【讨论】:

    • 分号仅适用于 Windows。在 Unix 上,必须使用冒号。
    • @JBNizet :) 好点。我假设 windows 不完全正确。我的坏..
    • 这是我一直在做的,没有运气。
    猜你喜欢
    • 2014-05-30
    • 2016-11-03
    • 2012-06-24
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    相关资源
    最近更新 更多