我继承了一个Java/Maven/Cucumber项目。我对Cucumber相当陌生。
在其中一个文件夹中,我有一个这样的课程……
import com.intuit.karate.junit4.Karate;
import org.junit.runner.RunWith;
@RunWith(Karate.class)
public class RoadsRunner {
}
然后在同一个子目录/包中,我有一个. feature文件。有很多场景。
Feature: Check transaction
Background:
* url apiHost + '/api/v1'
* configure headers = {'X-TransactionID': '#(Math.random().toString())' }
Scenario: Get Classes
# get classes
Given path '/myUrl/classes'
And param processName = 'myProcess'
When method get
Then status 200
问题一。
我正在使用Eclipse。有没有一种方法可以让我像调试Java应用程序一样调试测试?
我自己下载了Cucumber Eclipse插件,但不知道如何使用它。
问题二。
在不使用自定义插件进行调试的情况下,我是否可以向场景中添加任何内容来打印额外的调试信息。
谢谢
根据这里的留档,目前调试空手道步骤的最佳方法是使用Visual Studio Code开发测试和VS Code Karate插件进行调试。
Visual Studio代码是免费的,基于开放源代码构建,可以在包括mac/linux和windows在内的所有平台上运行。
请把这个备注一下
空手道UI已停用,在0.9.5之后不可用!请改用 VS 代码调试支持。
根据Peter Thomas的评论,Eclipse/IntelliJ也可能支持调试,但我在那里找不到任何开发。
Cucumber Eclipse插件给了你两件事:
空手道是幕后的Java,所以你可以调试和设置断点,但它可能不像你期望的那样无缝。在0.6.0中,你可以选择在空手道代码中放置一个条件断点,该断点在每个测试步骤之前/之后运行——见屏幕截图。
因此,正如您正确指出的那样,打印到日志可能是处理复杂测试脚本的最有效方法。请参考打印
关键字 - 这正是您要查找的。
2点:
编辑:我们现在有可视化工作室代码IDE支持与一流的调试支持:https://github.com/intuit/karate/wiki/IDE-Support#vs-code-karate-plugin
编辑2:如果你想调试Java代码,可以使用新的IntelliJ插件:https://plugins.jetbrains.com/plugin/19232-karate
我在用空手道0.9。2和格拉德尔。我的项目需要在src/main/java中进行所有空手道测试。因此,我将gradle依赖项配置为“compile”而不是“testCompile”,并修改了sourceset以指向main而不是test。当我使用上述配置运行runner类时,我得到了一条空的测试套件消息。 建筑渐变片段: 此外,我必须从可部署项目jar运行空手道测试。请指出我可以参考的资源来实现同
有没有一种方法可以像使用Maven调试Java应用程序那样调试测试?例如,如果我在步骤的实现中设置了断点,然后用CL: 我得到了下一个错误: 我试图运行下一个,它的工作: 怎么了?环境: 谢谢你的回答!
在下面的json有效负载中,我如何通过空手道断言D节点不在响应中。
我应该改变什么launch.json使其发挥作用? 提前谢谢你
在示例空手道测试项目中,我们有一个功能文件和一个runner类。 尝试使用下面的命令通过命令行执行测试 抛出以下错误... [信息]-------------------------------------------------------------[信息]生成失败[信息]-------------------------------------------------------------
我使用vscode与空手道跑步者空手道独立(karate.jar0.9.6)。我正在努力调整空手道日志设置。 我做了回写测试。xml在几个文件夹中(连同karate.jar和我的功能文件,在src/test/resource中)。我还尝试通过修补karate Runner›karate jar:Command Line Args将logback-test.xml添加到java类路径,但到目前为止没