2014-10-27 44 views
0

我有當我運行我的測試爲傭工耙測試奇怪的錯誤:傭工MINITEST護欄 - 測試:助手 - NameError:無法解析控制器ApplicationHelper

ApplicationHelper ::虛擬#test_0001_must返回字符串: NameError :無法解析控制器ApplicationHelper ::虛擬

測試:

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 

我test_helper

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護欄2.1.0

+2

爲什麼你這樣做:'register_spec_type(/.*/,self)'這使得每個測試都使用ActionController :: TestCase。你不想那樣。嘗試刪除它。 – blowmage 2014-10-27 19:02:54

+0

謝謝!這是解決方案。我是笨蛋:( – rootatdarkstar 2014-10-28 09:07:13

回答

0

嘗試註釋掉在test_helper.rbrequire "minitest/rails/capybara",並要求只在您的特性測試