运行单个cucumber特性不会加载步骤定义

17

我在features/object/create_object.feature中有一个cucumber feature。使用'cucumber'命令执行所有feature时,它会通过。我试图使用以下命令单独执行此feature:

cucumber features/object/create_object.feature
rake features FEATURE=features/object/create_object.feature

然而,该功能的所有步骤定义都显示为未定义:

Using the default profile...
-------UUUUUUUUUUUU
我也尝试使用"--no-profile"禁用配置文件,但没有效果。谢谢提前!
3个回答

29

我认为您需要告诉Cucumber在运行"./features"子目录中的功能时如何定位步骤定义:

rake features FEATURE=features/object/create_object.feature REQUIRE=features

按照您的示例从命令行使用cucumber没有成功,我必须添加--require选项:

cucumber --require features features/object/create_object.feature

更多内容请参考这篇博客文章


1
请帮我理清思路。谢谢! - tassock
为什么它不检查“features”目录的存在并自动执行此操作,就像rspec对“spec”目录所做的那样? - Asfand Qazi

6

0

我遇到了同样的问题,但是 require 功能没有解决它。 相反,我通过使用标签绕过了这个问题。

所以,我不再调用

cucumber features/accounts.feature

而是调用

cucumber --tags @account features

其中 "@account" 在场景之前

@current Scenario: Anonymous user can create an account Given an anonymous user

这样做很好。所有的 steps.rb 文件都被加载了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接