我想从命令行运行JUnit测试用例。 我该怎么做呢?
当前回答
或者,您可以在JunitCore类http://junit.sourceforge.net/javadoc/org/junit/runner/JUnitCore.html中使用以下方法
运行(与请求,类类和Runner)或runClasses从您的java文件。
其他回答
在windows中是这样的
java -cp .;/path/junit.jar org.junit.runner.JUnitCore TestClass[不带。class扩展名的测试类名]
例如: c:\>java -cp .;f:/libraries/junit-4.8.2 org.junit.runner.JUnitCore TestSample1 TestSample2…如果有多个测试类,则以此类推。
-cp代表类路径,点(.)表示现有的类路径,而分号(;)将额外的给定jar附加到类路径中,如上面的例子所示,junit-4.8.2现在可以在类路径中执行JUnitCore类,这里我们用它来执行测试类。
上面的命令行语句帮助您从命令提示符(i-e MSDos)执行junit(版本4+)测试。
注意:JUnitCore是一个用于执行junit测试的facade,这个facade包含在junit的4+版本中。
@lzap给出的答案是一个很好的解决方案。然而,我想补充的是,你应该补充。到类路径,这样您的当前目录就不会被遗漏,从而导致您自己的类被遗漏。我在某些平台上就遇到过这种情况。所以JUnit 4的更新版本。X是:
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
在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,并调用可运行的Jar为 java jar
就我个人而言,我会使用Maven的JUnit运行器来实现这一点。
推荐文章
- 在IntelliJ 10.5中运行测试时,出现“NoSuchMethodError: org.hamcrest. matcher . descripbemismatch”
- 如何使用xargs复制名称中有空格和引号的文件?
- 使用Mockito测试抽象类
- 使用Moq模拟单元测试的异步方法
- 你的项目没有引用“. net framework,Version=v4.6.2”框架。在“TargetFrameworks”中添加对“.NETFramework,Version=v4.6.2”的引用
- 使用Moq模拟扩展方法
- 在单行命令行中执行多行语句
- 基于输入参数模拟python函数
- 查找名称包含字符串的所有文件
- 如何编写多行命令?
- 用于单元测试的NUnit vs. Visual Studio 2008测试项目
- 在使用信号时,你不能在'原子'块的末尾执行查询,但只能在单元测试期间执行
- 解析命令行参数的最佳方法?
- .NET核心单元测试-模拟IOptions<T>
- 复制粘贴在Bash上Ubuntu在Windows上