【问题标题】:How to remove unit test and replace it with rspec?如何删除单元测试并用 rspec 替换它?
【发布时间】:2011-07-01 15:43:04
【问题描述】:

我有一个使用默认测试单元设置的 rails 应用程序,我该如何删除它并改用 rspec? (我没有编写任何测试,只是在应用生成过程中没有忽略它)。

【问题讨论】:

标签: ruby-on-rails rspec


【解决方案1】:

实际上,您可以同时使用任意数量的测试框架。例如,您可以使用 cucumber、rspec、test-unit 和 mini-test,它们都可以正常工作而不会互相踩脚。要在 Rails 中使用 rspec,只需将以下内容添加到您的 Gemfile:

group :development, :test do
  gem 'rspec-rails'
end

然后更新或安装你的包并运行以下命令来设置 rspec:

rails generate rspec:install

您可以找到更多信息here

【讨论】:

    【解决方案2】:

    对于 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

    【讨论】:

    • 我得到了从 github.com/rails/rails/issues/2564 中删除 Railtie 的指针,因为它摆脱了默认的 rake test 任务。但是我在当前的 Rails 应用程序中没有看到 test_unit Railtie —— 现在看起来有些不同了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 2011-07-02
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多