我无法弥补为什么黄瓜看不到步骤。
这是我的结构。目前只有test.feature很重要,因为我试图简化一切:
这是我的test.feature:
这是我的test.steps:
这是我现在非常简化的world.js:
如您所见,该功能未见步骤。
我尝试使用正则表达式,文件名,文件夹移动等操作。也许有人可以给我一个提示我还能尝试的其他内容。
答案 0 :(得分:0)
我相信你的文件夹结构很少。你可以试试下面的东西。我相信你需要在黄瓜的同一目录中有功能和step_definitions文件夹才能找到步骤定义。如果没有,您可以提供--require
参数并明确告诉黄瓜您的step_definitions在下面的位置
cucumber.js test/features/paypalreg.feature --require test/features/step_definitions/ --format=pretty
答案 1 :(得分:0)
根本原因是针对不同的Cucumber版本,它有不同的模式来编写步骤定义。
您使用的是Cucumber 4,但您的步骤定义模式适用于黄瓜1。
对于黄瓜3和4,步骤定义应如下所示:
var {Given, Then, When} = require('cucumber');
When(/^i load the app$/, function(){
...
});
对于Cucumber 2,步骤定义应如下所示:
var {defineSupportCode} = require('cucumber');
defineSupportCode(function ({ Given, When, Then }) {
When(/^i load the app$/, function () {
...;
});
}
对于黄瓜1,步骤定义应如下所示:
module.exports = function() {
this.When(/^i load the app$/, function() {
...;
});
};
我们在Cucumber 4中删除了pretty
格式,因此您无法在cucumberOpts
中对其进行配置:
cucumberOpts: {
format: ['pretty']
}
如果您想要pretty
,请安装另一个套餐:cucumber-pretty
,并将其添加到cucumberOptions
中:
cucumberOpts: {
format: ['node_modules/cucumber-pretty']
}