我想从命令行运行JUnit测试用例。 我该怎么做呢?
当前回答
在JUnit 4.12中,以下内容不适合我:
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
显然,从JUnit 4.11开始,你也应该在你的类路径中包含hamcrest-core.jar:
java -cp .:/usr/share/java/junit.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore [test class name]
其他回答
确保JUnit.jar在类路径中,然后从控制台中调用命令行运行器
java org.junit.runner.JUnitCore[测试类名]
参考:junit FAQ
对于JUnit 5。x是:
java -jar junit-platform-console-standalone-<version>.jar <Options>
可以在https://stackoverflow.com/a/52373592/1431016上找到简短的总结,在https://junit.org/junit5/docs/current/user-guide/#running-tests-console-launcher上找到完整的细节
对于JUnit 4。X它真的是:
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
但是如果您使用的是JUnit 3。X注意类名不同:
java -cp .:/usr/share/java/junit.jar junit.textui.TestRunner [test class name]
您可能需要在类路径中添加更多jar或带有类文件的目录,并用分号(Windows)或冒号(UNIX/Linux)分隔。这取决于你的环境。
编辑:我添加了当前目录作为一个例子。这取决于您的环境以及如何构建应用程序(可以是bin/或build/甚至my_application.jar等)。注意Java 6+确实支持类路径中的glob,你可以这样做:
java -cp lib/*.jar:/usr/share/java/junit.jar ...
编写测试!:-)
在JUnit 4.12中,以下内容不适合我:
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
显然,从JUnit 4.11开始,你也应该在你的类路径中包含hamcrest-core.jar:
java -cp .:/usr/share/java/junit.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore [test class name]
或者,您可以在JunitCore类http://junit.sourceforge.net/javadoc/org/junit/runner/JUnitCore.html中使用以下方法
运行(与请求,类类和Runner)或runClasses从您的java文件。
实际上,你也可以让Junit测试一个可运行的Jar,并调用可运行的Jar为 java jar
推荐文章
- 在Visual Studio 2017中未发现单元测试
- 什么是单元测试?
- 如何使用Windows命令行更改目录
- Java:如何测试调用System.exit()的方法?
- 如何在ASP中使用ILogger进行单元测试。网络核心
- 如何在node.js模块中访问和测试内部(非导出)函数?
- 当你的应用程序有一个tests目录时,在Django中运行一个特定的测试用例
- Angular 2单元测试:找不到名称“describe”
- Junit @Rule如何工作?
- 如何断言两个列表包含相同的元素在Python?
- 如何删除所有MySQL表从命令行没有DROP数据库权限?
- 使用XUnit断言一个异常
- 断言对象是特定类型
- Windows递归grep命令行
- Linux相当于Mac OS X的“open”命令