我尝试使用MiniTest为我的RESTful API创建功能测试: 要求' test_helper'
class AutomaticTests < ActiveSupport::TestCase
test "test1" do
get '/'
end
end
上面的代码会触发错误:
Minitest :: UnexpectedError:NoMethodError:未定义的方法`get&#39;对
我的test_helper.rb看起来像这样:
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
require "minitest/rails"
class ActiveSupport::TestCase
fixtures :all
class << self
alias :context :describe
end
end
我怎样才能做到&#39;得到&#39;方法工作?
答案 0 :(得分:1)
Get来自rack/test
,因此您需要将该gem添加到您的Gemfile中:
gem 'rack-test', group: :test
然后,在您的测试文件或test_helper.rb
中,添加以下行:
require "rack/test"
......和......
class ActiveSupport::TestCase
include Rack::Test::Methods
end
您还可以使用rack-minitest
gem。
答案 1 :(得分:0)
您从错误的测试类继承。而不是ActiveSupport :: TestCase,而是要使用ActiveDispatch :: IntegrationTest。
class AutomaticTests < ActiveDispatch::IntegrationTest
test "test1" do
get '/'
end
end
有关rails提供的测试类的详细信息,请参阅testing guide。