java - 如何在命令提示符下使用 junit 运行测试(Gherkin 的标记场景)?
问题描述
我在 IntelliJ 中有一个 Gherkin 脚本,其中一个功能下有几个场景。一般结构如下所示:
Feature AAA
@sample tag
Scenario A
@anothertag
Scenario B
@thirdtag
Scenario C
每个场景本质上都是一个我想要测试的测试用例,并被赋予一个唯一的标签。我想通过引用该测试用例的标签(例如场景)从命令提示符运行特定的测试用例。为简单起见,假设我给我的场景 A 一个名为“sampletag”的标签。注意:我使用 junit 4.12 从命令提示符执行测试用例。
问题:我不断收到相同的错误消息 java.lang.IllegalArgumentException: Could not find class [sampletag] Caused by: java.lang.ClassNotFoundException: sampletag
我尝试查看 .jar 文件的路径并将该路径包含在命令中。我也怀疑我引用标签(场景)的方式不正确。请参阅我的命令提示符以获取更多信息。
C:\Users\Myself> java -cp fileA\repo\junit\junit\4.12\junit-4.12.jar org.junit.runner.JUnitCore sampletag
使用上述代码在命令提示符下按 Enter 后出现的错误是:
There was 1 failure:
1) initializationError(org.junit.runner.JUnitCommandLineParseResult)
java.lang.IllegalArgumentException: Could not find class [sampletag]
at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:102)
at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)
at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)
at org.junit.runner.JUnitCore.main(JUnitCore.java:36)
Caused by: java.lang.ClassNotFoundException: sampletag
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.junit.internal.Classes.getClass(Classes.java:16)
at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)
... 4 more
FAILURES!!!
Tests run: 1, Failures: 1
解决方案
推荐阅读
- extjs - 如何在 Ext.Component ExtJS 中显示存储中的数据
- regex - regexp tcl 搜索变量
- python - 我的代码实际上并没有插入数据库
- grails - Grails 日期选择器丢失设置
- elasticsearch - 在字段中创建弹性搜索索引时具有 mapper_parsing_exception
- jquery - 画廊中的下一个和上一个按钮
- npm - 通过插入而不是附加将参数传递给 npm 脚本命令
- excel - 这些公式可以简化吗?为什么 INDIRECT 函数在 MATCH 公式中的 ISBLANK 测试中似乎不起作用?
- php - Laravel 多重身份验证和授权资源
- javascript - 使用生成器/迭代器包装结果集回调函数