当前位置: 首页 > 知识库问答 >
问题:

如何通过cucumber空手道项目进行调试

蒋承教
2023-03-14

我继承了一个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插件,但不知道如何使用它。

问题二。

在不使用自定义插件进行调试的情况下,我是否可以向场景中添加任何内容来打印额外的调试信息。

谢谢

共有2个答案

凌啸
2023-03-14

根据这里的留档,目前调试空手道步骤的最佳方法是使用Visual Studio Code开发测试和VS Code Karate插件进行调试。

Visual Studio代码是免费的,基于开放源代码构建,可以在包括mac/linux和windows在内的所有平台上运行。

请把这个备注一下

空手道UI已停用,在0.9.5之后不可用!请改用 VS 代码调试支持。

根据Peter Thomas的评论,Eclipse/IntelliJ也可能支持调试,但我在那里找不到任何开发。

司徒墨竹
2023-03-14

Cucumber Eclipse插件给了你两件事:

  • IDE 语法着色/格式设置支持
  • 能够右键单击并直接运行功能,而无需JUnit“运行器”

空手道是幕后的Java,所以你可以调试和设置断点,但它可能不像你期望的那样无缝。在0.6.0中,你可以选择在空手道代码中放置一个条件断点,该断点在每个测试步骤之前/之后运行——见屏幕截图。

因此,正如您正确指出的那样,打印到日志可能是处理复杂测试脚本的最有效方法。请参考打印关键字 - 这正是您要查找的。

2点:

  • 可选的HTML报告包括所有HTTP请求/响应日志,这对于排除测试故障非常有用
  • 我希望空手道UI(目前处于alpha版本)能够尽快稳定,成为调试的最佳选择,如果可以的话,请提交反馈并作出贡献

编辑:我们现在有可视化工作室代码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类路径,但到目前为止没