TL; DR:
Я не знаю, как заставить RSpec :: Matchers работать в моих тестах test / unit /..._ test.rb. я должен перенести все эти тесты в папку spec?
Итак, я использую огурец, Test :: Unit, и, прежде чем я начал проект, было несколько тестов спецификаций.
Когда я читал о том, какую инфраструктуру тестирования использовать для моих модульных тестов, я нашел RSpec и подумал, что это довольно круто ... но, как оказалось, я фактически не использовал Rspec, пока не узнал о том, какие методы должны быть be_nil / be_which. Я думал, что это было довольно круто.
Я застрял с тестами на прилипание в папках test / (unit | functionals), потому что это имело смысл (я думал, что иметь модульные и функциональные тесты в папке spec) было действительно странно и нетрадиционно. что позволило мне сделать should "test name"
, а не it "should..."
, что, на мой взгляд, было более лаконичным и более интуитивным.
Но недавно я начал использовать огурец для тестирования представлений, и ... это привело к множеству конфликтующих проблем с драгоценными камнями. Было очень трудно заставить огурца работать с девушкой из Фабрики, с капибарой и т.п.
Мне в итоге пришлось перейти на связку, потому что я никогда не мог заставить свою среду работать.
В любом случае, после недели недоразумений со средой тестирования, огурец работает, функциональные тесты работают, и я чувствую, что модульный тест работал бы, если бы я изначально не использовал методы .should be_valid / be_whateven.
Кто-нибудь еще заставил RSpec :: Matchers работать в этом сценарии?
соответствующая часть GemFile:
group :test do
gem "cucumber", "~>0.10.3"
gem "cucumber-rails", "0.3.2"
gem "launchy"
gem "hpricot"
gem "gherkin", "~>2.4.0"
gem "capybara", "0.4.1.2"
gem "rspec", "~> 1.3.2"
gem "rack"
gem "rspec-rails", "~> 1.3.3"
gem "webrat", "0.7.0"
gem "database_cleaner"
gem "factory_girl", "2.1"
gem "shoulda", :require => nil
gem "shoulda-matchers", :git => "https://github.com/thoughtbot/shoulda-matchers"
gem "awesome_print"
gem "cobravsmongoose"
end