首页 文章

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

提问于
浏览
1

我继承了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插件,但无法弄清楚如何使用它 .

问题二 .

不使用自定义插件进行调试是否可以添加到场景中以打印额外的调试信息 .

谢谢

1 回答

  • 2

    Cucumber Eclipse plugin给你两件事:

    • IDE语法着色/格式化支持

    • 能够在没有JUnit的情况下直接右键单击并运行功能"runner"

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

    因此,正确地说,打印到日志可能是处理复杂测试脚本的最有效方法 . 请参阅print关键字 - 这正是您所需要的 .

    还有2点:

    • 可选的HTML报告包含所有HTTP request / response logs - 这对于测试的故障排除非常有用 .

    • 我希望Karate UI(目前处于alpha版本)能够更快地变得稳定,并且是调试的最佳选择,如果可以,请提交反馈并做出贡献 .

相关问题