【发布时间】:2014-10-27 15:17:47
【问题描述】:
当我使用 rake test:helpers 为助手运行测试时出现奇怪的错误
ApplicationHelper::dummy#test_0001_必须返回字符串: NameError: Unable to resolve controller for ApplicationHelper::dummy
测试:
require "test_helper"
describe ApplicationHelper do
include ApplicationHelper
context "dummy" do
it "must return string" do
result = dummy()
result.must_be_kind_of ( String )
result.wont_be_empty
end
end
end
我的助手
module ApplicationHelper
def dummy
"hello world".html_safe
end
end
我的测试助手
ENV["RAILS_ENV"] = "test"
require File.expand_path("../../config/environment", __FILE__)
require "rails/test_help"
require "minitest/rails"
require "minitest/rails/capybara"
require 'minitest/rg'
require "warden_mock"
class ActiveSupport::TestCase
fixtures :all
class << self
alias :context :describe
end
end
class ActionController::TestCase
def setup
request.env['warden'] = WardenMock.new # mockup warden
User.current = request.env['warden'].user
end
register_spec_type(/.*/, self)
end
导轨 4.1.6 minitest-rails 2.1.0
【问题讨论】:
-
你为什么要这样做:
register_spec_type(/.*/, self)这使得每个测试都使用 ActionController::TestCase。你不想要那个。尝试删除它。 -
谢谢!这就是解决方案。我是笨蛋:(
标签: ruby-on-rails ruby testing rspec minitest