1

我创建了一个带有 -T 选项的新 Rails 3.2.x 应用程序,因为我想使用 Rspec 进行测试。

现在我想将其恢复为 Test::Unit。我怎样才能做到这一点,以便所有 rake 任务都能正常工作,并使用 Test::Unit 而不是 RSpec 测试外壳生成新的脚手架?

4

1 回答 1

3

在搜索和破解之后,这就是它为我工作的原因。

  1. 从 Gemfile 中删除 rspec 和 rspec-rails
  2. 运行“gem list rspec --local”,并为每个 rspec gem 执行“gem uninstall”。
  3. 删除 Gemfile.lock
  4. rm -r 规格/
  5. 捆绑安装
  6. mkdir 测试/
  7. 将“require 'rails/all'”添加到 config/application.rb
  8. 创建一个文件 test/test_helper.rb 并将以下代码放入其中:

    ENV["RAILS_ENV"] = "test"
    require File.expand_path('../../config/environment', __FILE__)
    require 'active_support'
    require 'rails/test_help'
    # require 'factory_girl_rails'  #use if you are using FactoryGirl for fixtures
    
    class ActiveSupport::TestCase
      # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
      #
      # Note: You'll currently still have to declare fixtures explicitly in integration tests
      # -- they do not yet inherit this setting 
      fixtures :all
    
      # Add more helper methods to be used by all tests here...
    end
    

之后,您可以使用生成测试

rails g integration_test SomeStories

或者您可以在 test/unit 下添加单元测试,然后使用

rake test
rake test:recent
于 2013-01-15T16:25:52.993 回答