2010-03-20 2 views
1

В начале это работало отлично: электронной спекуляция разрушает мой передний огурец: все

$ rake cucumber:all


Но тогда
$ script/plugin install git://github.com/bmabey/email-spec.git 
remote: Counting objects: 162, done. 
remote: Compressing objects: 100% (130/130), done. 
remote: Total 162 (delta 18), reused 79 (delta 13) 
Receiving objects: 100% (162/162), 127.65 KiB | 15 KiB/s, done. 
Resolving deltas: 100% (18/18), done. 
From git://github.com/bmabey/email-spec 
* branch   HEAD  -> FETCH_HEAD 
И

 
$ script/generate email_spec 
     exists features/step_definitions 
     create features/step_definitions/email_steps.rb 

и добавляю «требуют 'email_spec/огурец' в

/feature/support/env.rb

так выглядит примерно так:

 
require File.expand_path(File.dirname(__FILE__) + '/../../config/environment') 
require 'cucumber/rails/world' 
require 'cucumber/formatter/unicode' # Comment out this line if you don't want Cucumber Unicode support 
require 'email_spec/cucumber' 

и теперь:

rake cucumber:all

дает мне эту ошибку:

 
$ rake cucumber:all --trace 
(in /Users/leonardodarioperna/Projects/frestyl/frestyl) 
** Invoke cucumber:all (first_time) 
** Invoke cucumber:ok (first_time) 
** Invoke db:test:prepare (first_time) 
** Invoke db:abort_if_pending_migrations (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Execute db:abort_if_pending_migrations 
** Execute db:test:prepare 
** Invoke db:test:load (first_time) 
** Invoke db:test:purge (first_time) 
** Invoke environment 
** Execute db:test:purge 
** Execute db:test:load 
** Invoke db:schema:load (first_time) 
** Invoke environment 
** Execute db:schema:load 
** Execute cucumber:ok 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I "/Library/Ruby/Gems/1.8/gems/cucumber-0.4.4/lib:lib" "/Library/Ruby/Gems/1.8/gems/cucumber-0.4.4/bin/cucumber" --profile default 
cucumber.yml was not found. Please refer to cucumber's documentation on defining profiles in cucumber.yml. You must define a 'default' profile to use the cucumber command without any arguments. 
Type 'cucumber --help' for usage. 
rake aborted! 
Command failed with status (1): [/System/Library/Frameworks/Ruby.framework/...] 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:995:in `sh' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in `call' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in `sh' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1094:in `sh' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1029:in `ruby' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1094:in `ruby' 
/Library/Ruby/Gems/1.8/gems/cucumber-0.4.4/lib/cucumber/rake/task.rb:68:in `run' 
/Library/Ruby/Gems/1.8/gems/cucumber-0.4.4/lib/cucumber/rake/task.rb:138:in `define_task' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain' 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `each' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain' 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run' 
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31 
/usr/bin/rake:19:in `load' 
/usr/bin/rake:19 

ПОЧЕМУ?

но команда:

$ cucumber

все еще работает

Любая идея?

PS огурец (0.4.4)

ответ

0

Создайте файл cucumber.yml в корневой папке проекта и повторите попытку.

+0

Это работает! 1. Я создал cucumber.yml внутри корневой папки 2. Я писал в: по умолчанию: --format довольно показывает 3. $ рейки огурца: все Спасибо вам Паоло! –

0
$ cucumber 

и

$ rake cucumber 

или

$ rake cucumber:all 

две разные команды. Команды rake ожидают, что файл cucumber.yml расскажет, какие опции передаются исполняемому файлу огурца. В приложении рельсов, расположение по умолчанию конфигурации/cucumber.yml

Пример cucumber.yml файл будет:

default: --format progress features 
+0

У меня есть 2 cucumber.yml в моем приложении: /vendor/gems/rspec-1.2.9/cucumber.yml что выглядят следующим образом: http://pastie.org/879942 , а другой /vendor/plugins/email-spec/examples/rails_root/cucumber.yml , который выглядит следующим образом: http://pastie.org/879943 Почему он говорит, что может найти его, если этот файл никогда не изменился? –

+0

попробуйте скопировать файл из /vendor/plugins/email-spec/examples/rails_root/cucumber.yml в папку конфигурации. – jrallison

+0

http://wiki.github.com/aslakhellesoy/cucumber/cucumberyml для получения дополнительной информации. – jrallison

0

Также вы должны создать новый инициализатор по функциям (я использую email_spec.rb), так как огурец перезапишет env.rb при обновлении.

features/support/email_spec.rb

require 'email_spec/cucumber' 
0

я столкнулся что-то подобное, то один Паоло упомянул работал для меня тоже. Но единственная проблема заключалась в том, что у меня уже был cucumber.yml в папке config, почему я должен создать новый cucumber.yml в корне. Затем я посмотрел на cucumber.yml и удалил '--strict', потому что у меня есть некоторые неопределенные шаги.

Вот как мой огурец.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]" 
%> 
default: <%= std_opts %> features 
wip: --tags @wip:3 --wip features 
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags [email protected] 

Здесь после изменения:

<% 
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'} --tags [email protected]" 
%> 
default: <%= std_opts %> features 
wip: --tags @wip:3 --wip features 
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --tags [email protected] 
Смежные вопросы