WebStorm中基于CucumberJS和TestCafe的项目中的调试配置

时间:2019-07-26 06:36:59

标签: webstorm cucumberjs testcafe

我正在尝试为与CucumberJS集成的TestCafe项目之一(链接:https://github.com/rquellh/testcafe-cucumber)设置WebStorm。

到目前为止,我可以使用WebStorm帮助对调试配置进行排序,但是,当我调试项目时,它将向控制台抛出以下错误:

我正在传递以下Cucuming.js参数:

--require testlab/**/step_definitions/*.js --tags @debug

在调试时,出现以下错误:

ReferenceError: testController is not defined
at World.<anonymous> 


Test ignored.

Test ignored.
Failures:

1) Scenario: Searching for TestCafe on GitHub # 
testlab\features\finAPIDemo.feature:6
   × Given I open the GitHub page # testlab\step_definitions\github.js:5
       ReferenceError: testController is not defined

我期望调试能够正确执行,但是,它无法正常工作,我认为替代方法是编写一个js配置并按照CucumberJS文档页面中的说明进行传递,但是,我不确定如何实现那个。

任何输入或帮助都会受到赞赏。

4 个答案:

答案 0 :(得分:2)

您需要为要调试的场景添加@debug指令。 请参阅this帮助主题中的完整设置。

答案 1 :(得分:1)

仅当在使用--tags @debug的情况下运行Cucumber时才会发生此错误,并且它不是特定于IDE的-在使用node node_modules/cucumber/bin/cucumber-js --tags @debug的终端中启动测试时,您将面临相同的问题:

node node_modules/cucumber/bin/cucumber-js --tags @debug

0 scenarios
0 steps
0m00.000s
E:\WebstormProjects\testcafe-cucumber\features\support\hooks.js:77
        if (testController.testRun.lastDriverStatusResponse === 'test-done-confirmation') {
        ^

ReferenceError: testController is not defined
    at Timeout.checkLastResponse [as _onTimeout] (E:\WebstormProjects\testcafe-cucumber\features\support\hooks.js:77:9)
    at ontimeout (timers.js:436:11)
    at tryOnTimeout (timers.js:300:5)
    at listOnTimeout (timers.js:263:5)
    at Timer.processTimers (timers.js:223:10)

我不确定您为什么需要此选项...据我所知,您的项目中没有标有@debug的方案。 我建议使用标准的Cucumber.js运行配置进行调试。对我来说效果很好-运行测试,并命中断点:

enter image description here

答案 2 :(得分:1)

在hooks.js下,我已使用const分配更新了import语句,并且对我有用:

已替换:

'import errorHandling from "./support/errorHandling.js";\n' +
'import testControllerHolder from "./support/testControllerHolder.js";\n\n' +

 'const errorHandling = require("./support/errorHandling.js");\n' +
 'const testControllerHolder = require("./support/testControllerHolder.js");\n\n' +

答案 3 :(得分:0)

我建议使用黄瓜配置文件并调用该配置文件,而不要使用cli命令。查看收到的错误,看起来好像缺少更多必需的目录,例如自定义世界目录?