2010-04-12 214 views
10

我最近在我的机器上更新了黄瓜宝石('cucumber'和'cucumber-rails'),并遇到了几个问题。我目前正在与之斗争的是,我的功能没有定义的步骤被Cucumber自动加载。这导致我的命令行告诉我,我可以在我的特性中使用每一步,“可以使用这些片段实现未定义步骤的步骤定义”。运行功能时不会自动加载黄瓜步骤

我已经运行:

cucumber --verbose 

...,可以看到如下内容:

代码: *供应商/插件/回形针/黄瓜/ paperclip_steps.rb

然而,没有的步骤正在加载由黄瓜,除非我指定文件加载:

cucumber -r features/step_definitions/web_steps.rb 

我认为这可能只是我在应用程序结构中的“step_definitions”文件夹中创建的自定义步骤文件,但它会显示标准的“web_steps”文件未被加载。

希望听到任何遇到过这个问题或知道为什么会发生这种情况的人。

谢谢。

回答

3

好的,我现在想出了一个解决方案。我不确定它是否合适。运行cucumber命令时简单地禁用配置文件似乎确保为这些功能加载正确的步骤定义。

我现在可以运行我的测试:

cucumber --no-profile 
12

可以包括-r功能到您cucumber.yml文件,使得黄瓜载荷功能的所有步骤定义/目录。在std_opts附加上面。请参阅下面的附加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'] || 'progress'} --strict --tags [email protected] -f feature" 
%> 
default: <%= std_opts %> features 
wip: --tags @wip:3 --wip features 
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags [email protected] 
+4

+1。只是一个说明,该默认文件夹是“功能”不具有功能。 – Ernest 2013-02-26 22:45:35

+1

我认为它应该是'-r features'而不是'-f feature'写成书面 – xxjjnn 2015-10-05 08:59:33