У меня есть приложение rails, которое настроено с помощью тестового модуля по умолчанию, как я могу его удалить и использовать rspec? (У меня нет тестов, я просто не игнорировал его во время создания приложения).
Как удалить unit test и заменить его на rspec?
Ответ 1
В действительности вы можете использовать любое количество тестовых фреймворков одновременно. Например, вы можете использовать огурец, rspec, тестовый блок и мини-тест, и все они будут функционировать, не наступая друг на друга. Чтобы использовать rspec в rails, просто добавьте следующее в свой Gemfile:
group :development, :test do
gem 'rspec-rails'
end
Затем обновите или установите свой пакет и выполните следующую команду для установки rspec:
rails generate rspec:install
Вы можете найти дополнительную информацию здесь.
Ответ 2
Для Rails 3, чтобы действительно удалить test_unit из вашего приложения, вам нужно удалить (или закомментировать) test_unit Railtie в application.rb
# require "rails/test_unit/railtie"
Как упоминает Пан, вам не нужно просто выбирать одну структуру тестирования. Но вы спросили, как удалить test_unit, так вот как вы это делаете.
(Любопытно, что делает эта строка кода? Посмотрите railties/lib/rails/test_unit/railtie.rb источник.)
Чтобы установить RSpec в ваше приложение, следуйте инструкциям на rspec-rails. Как сказано, добавьте rspec-rails в группы: test и: development в Gemfile:
group :test, :development do
gem "rspec-rails", "~> 2.0"
end
Затем запустите bundle install
, а затем rails generate rspec:install