2011-02-08 7 views
2

У меня есть приложение для рельсов, плюс код в lib. У меня есть spec каталог под номером RAILS_ROOT.Рекомендуемый способ структурирования модулей rspec?

Как мне поместить свои тесты в spec?

В настоящее время, я имею в виду следующее:

spec/lib

spec/controllers

spec/models

Кроме того, я сделать некоторые общие настройки/использовать общие шаги (например, генерировать недопустимый пользователя) во многих тестах. Где, по вашему мнению, я устанавливаю модули, которые выполняют общие настройки/шаги в моих тестах rspec?

ответ

5

Ваша предлагаемая структура каталогов в порядке.

Что касается ваших вспомогательных модулей, общая идиома заключается в том, чтобы они вошли в каталог spec/support. Вы можете включить их все автоматически, установив следующий код в ваш spec_helper.rb файла:

Dir[File.expand_path('../support/**/*.rb', __FILE__)].each { |f| require f } 

Вы можете просто разместить код непосредственно в самом spec_helper.rb, но это может запутаться, и они могут быть уничтожены путем восстановления вспомогательного файла.

+0

Где находится spec_helper.rb, хранящийся w.r.t. каталог спецификаций? Прямо сейчас у меня есть общие примеры и примеры групп в lib /, и я запускаю rspec вручную как rspec -c ... spec/ – rmk

+0

Ahh ... получил, spec_helper живет в spec/... – rmk

Смежные вопросы