【发布时间】:2011-07-01 15:43:04
【问题描述】:
我有一个使用默认测试单元设置的 rails 应用程序,我该如何删除它并改用 rspec? (我没有编写任何测试,只是在应用生成过程中没有忽略它)。
【问题讨论】:
-
AFAIK,他们可以一起工作,您不必删除 rails 中的默认测试单元以使用 rspec。
标签: ruby-on-rails rspec
我有一个使用默认测试单元设置的 rails 应用程序,我该如何删除它并改用 rspec? (我没有编写任何测试,只是在应用生成过程中没有忽略它)。
【问题讨论】:
标签: ruby-on-rails rspec
实际上,您可以同时使用任意数量的测试框架。例如,您可以使用 cucumber、rspec、test-unit 和 mini-test,它们都可以正常工作而不会互相踩脚。要在 Rails 中使用 rspec,只需将以下内容添加到您的 Gemfile:
group :development, :test do
gem 'rspec-rails'
end
然后更新或安装你的包并运行以下命令来设置 rspec:
rails generate rspec:install
您可以找到更多信息here。
【讨论】:
对于 Rails 3,要真正从应用程序中删除 test_unit,您需要删除(或注释掉)application.rb 中的 test_unit Railtie
# require "rails/test_unit/railtie"
正如潘所说,您不必只选择一种测试框架。但是你问了如何删除 test_unit,所以这才是你真正的做法。
(好奇这行代码的作用?查看railties/lib/rails/test_unit/railtie.rb source。)
要将 RSpec 安装到您的应用中,请关注directions on rspec-rails。正如它所说,将 rspec-rails 添加到 Gemfile 中的 :test 和 :development 组:
group :test, :development do
gem "rspec-rails", "~> 2.0"
end
然后运行bundle install,然后运行rails generate rspec:install
【讨论】:
rake test 任务。但是我在当前的 Rails 应用程序中没有看到 test_unit Railtie —— 现在看起来有些不同了。