RoR: тестирование: неопределенная локальная переменная или метод `be_nil '… но… я включил RSpec, spec / spec_helper, spec / matchers и т. Д. - PullRequest
2 голосов
/ 09 сентября 2011

в моей среде / test.rb:

config.gem "rspec"
config.gem "rspec-rails"

соответствующая часть моего гемфайла:

group :test do
    ...
    gem "rspec", "1.3.2"
    gem "rspec-rails", "1.3.2"

в test_helper.rb

требуется 'test_help' требует "пакет / настройка" Bundler.require (: тест)

require 'factory_girl'
require 'shoulda'
require "shoulda-matchers"
require 'spec'
require 'spec/matchers'

Недавно я переместил все свои гемы в гемфайл, вместо того, чтобы иметь все в config.gem

в моем файле env / test.rb я должен использовать два файла config.gem, иначе мои тесты вообще не запускаются.

Я читал, что в том числе spec_helper поможет .... но мои тесты не находятся в папке spec ... они находятся в папке test ... когда я включаю spec / spec_helper.rb, все мои тесты получают WARNING: already defined.

РЕДАКТИРОВАТЬ: Я нашел эту ссылку: https://github.com/rspec/rspec-rails/issues/93 который сказал мне сделать

include RSpec::Matchers

и я получил другую ошибку:

/Users/lprestonsegoiii/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/optparse.rb:314:in `initialize': unhandled exception

EDIT2: Используя IRB, я обнаружил, что минимум для использования сопоставителей:

require "spec/spec_helper" 
include RSpec::Matchers

Но у меня все еще есть проблема с дублирующим определением. хмм.

...