Node.js 针对不同功能使用相同步骤定义执行cucumberjs时出错

Node.js 针对不同功能使用相同步骤定义执行cucumberjs时出错,node.js,gherkin,e2e-testing,cucumberjs,Node.js,Gherkin,E2e Testing,Cucumberjs,这与注册功能的步骤完全相同 // signin.test.js ... this.Then(/^I should be redirected to my dashboard$/, function() { var self = this; return this.browser .getUrl().then(function(eUrl) { eUrl.should.be.equal(self.url); }) .end(); }); ... 运行测试

这与注册功能的步骤完全相同

// signin.test.js
...
this.Then(/^I should be redirected to my dashboard$/, function() {
  var self = this;
  return this.browser
    .getUrl().then(function(eUrl) {
      eUrl.should.be.equal(self.url);
    })
    .end();
});
...
运行测试时,我因
登录
功能而收到此错误:

但是,如果我

  • 选项1:注释掉signin.test.js或signup.test.js的上述js部分
  • 选项2:将描述更改为另一个文本以使其不同,例如
    我应该重定向到我的仪表板12345
这是黄瓜的一个错误吗


是否仍有解决此问题的方法。

是否确定错误指示未定义的步骤定义?在我看来,它更可能报告一个模棱两可的步骤定义。自
v0.9.0
起:

在任何情况下,实现相同的代码块都是一种不好的做法,应该尽量避免。看。我建议您选择选项1并完全删除重复的步骤定义

// signup.test.js
...
this.Then(/^I should be redirected to my dashboard$/, function() {
  var self = this;
  return this.browser
    .getUrl().then(function(eUrl) {
      eUrl.should.be.equal(self.url);
    })
    .end();
});
...
0.9.0

Breaking changes

* catch ambiguous step definitions (Charlie Rudolph)
* remove use of domain (Charlie Rudolph)