Jam*_*sen 5 ruby testing plugins ruby-on-rails actionview
我正在写一个Rails插件,其中包含一些部分内容.我想测试部分内容,但是我很难设置一个可以渲染它们的测试.没有相关的控制器,所以我只假装一个:
require 'action_controller'
require 'active_support'
require 'action_pack'
require 'action_view'
class MyTest < Test::Unit::TestCase
def setup
@renderer = ActionController::Base.new
@renderer.append_view_path File.expand_path(File.join(File.dirname(__FILE__), '..', 'views'))
end
def test_renders_link
result = @renderer.render(:partial => '/something')
assert ...
end
end
Run Code Online (Sandbox Code Playgroud)
但那个:render电话总是爆炸.我尝试使用的是一个ActionView::Base而不是一个ActionController::Base,但这种情况甚至更少.
有人有成功吗?
最终答案:
require 'action_controller'
require 'active_support'
require 'action_pack'
require 'action_view'
require 'action_controller/test_case'
class StubController < ActionController::Base
helper MyHelper
append_view_path '...'
attr_accessor :thing
def my_partial
render :partial => '/my_partial', :locals => { :thing => thing }
end
def rescue_action(e) raise e end;
end
class MyTestCase < ActionController::TestCase
self.controller_class = StubController
def setup
@controller.thing = ...
get :my_partial
assert ...
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1249 次 |
| 最近记录: |