【问题标题】:How to debug through a cucumber karate project如何通过黄瓜空手道项目调试
【发布时间】:2017-09-18 04:40:37
【问题描述】:

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

问题二。

如果不使用自定义插件进行调试,我可以在场景中添加任何内容以打印额外的调试信息。

谢谢

【问题讨论】:

    标签: cucumber karate


    【解决方案1】:

    Cucumber Eclipse plugin 为您提供两件事:

    • IDE 语法着色/格式支持
    • 能够在没有 JUnit“运行器”的情况下直接右键单击并运行功能

    Karate 是 Java 后台,因此您可以调试和设置断点,但它可能不像您期望的那样无缝。在 0.6.0 中,您可以选择在每个测试步骤之前/之后运行的空手道代码中放置一个条件断点 - see screen-shot

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

    还有2分:

    • 可选的 HTML 报告包括所有 HTTP request / response logs - 这对于排除测试故障非常有用。
    • 我希望Karate UI(目前处于 alpha 阶段)尽快稳定并成为调试的最佳选择,如果可以的话,请提交反馈和贡献。

    编辑:我们现在拥有具有一流调试支持的 Visual Studio Code IDE 支持:https://github.com/intuit/karate/wiki/IDE-Support#vs-code-karate-plugin

    【讨论】:

      【解决方案2】:

      根据此处的documentation,目前调试空手道步骤的最佳方法是使用 Visual Studio Code 开发测试和 VS Code Karate Plugin 进行调试。

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

      Please note this

      空手道 UI 已停用,并且在 0.9.5 之后不再可用! 请改用 VS Code 调试支持。

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

      【讨论】:

      • 只能使用 VS Code 插件进行调试。除非你想在 Java 中下断点,这是不实际的
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 2019-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多