rec*_*bot 2 bdd ruby-on-rails cucumber
我刚刚将黄瓜安装到一个新的rails项目中(第一次从头开始设置)并且它在运行所有测试(bundle exec cucumber)时运行得非常好,但在运行单个功能文件时找不到任何步骤.我怎么开始调试这个?
rails (3.2.13)
cucumber-rails (1.3.1)
cucumber (>= 1.2.0)
# file listing
features/
??? campaigns
? ??? donating_campaigns.feature
? ??? viewing_campaigns.feature
??? step_definitions
? ??? campaign_steps.rb
??? support
??? env.rb
Run Code Online (Sandbox Code Playgroud)
小智 8
它只会在features目录树中找到相同级别或更低级别的文件.因此,如果您尝试仅运行features/campaigns/donating_campaigns.feature中的方案,则无法找到step_definitions目录.
您可以使用--require标志在运行功能之前明确告诉黄瓜包含哪些内容.例如:
bundle exec cucumber --require features/step_definitions features/campaigns/donating_campaigns.feature
Run Code Online (Sandbox Code Playgroud)
我的一个项目中遇到了这个问题。当我将一个功能项目的cucumber.yml文件与有问题的项目进行比较时,我发现该功能文件设置-r features在std_opts和rerun分配上。当我将其添加到损坏的项目中时,Cucumber可以找到我的步骤定义。
这是我成功的cucumber.yml文件:
<%
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip -r features"
%>
default: <%= std_opts %> features
wip: --tags @wip:3 --wip features
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip -r features
Run Code Online (Sandbox Code Playgroud)
朝着正确方向指点我的编码人员:http : //web.archive.org/web/20121026012412/http : //old.thoughtsincomputation.com/posts/cucumber-step-definitions-and-autorequire-hell
| 归档时间: |
|
| 查看次数: |
5019 次 |
| 最近记录: |