我有一个动态驱动的Rails应用程序,其中包含视图并由请求的路径确定。
routes.rb中:
Rails.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
get ':tenant', to: 'tenants#home'
get '/:path', to: 'tenants#page', :constraints => { :path => /.*/ }
end
TenantsController:
class TenantsController < ApplicationController
def home
render :template => params[:tenant] + "/home"
end
def page
render :template => params[:path]
end
end
正如您所看到的那样,我们从端点获取路径约束并从中渲染视图模板。
我想编写一个测试,确保rails请求一个与所请求的URL匹配的视图模板。 (基本上测试TenantsController中的页面方法。)
鉴于我不想将我的测试绑定到可能在系统中的租户,如何在没有测试知道某些Tennant的情况下为此编写测试?
答案 0 :(得分:0)
您可以使用 assert_template 方法为您的控制器编写测试:
&#xA;&#xA; test“应该呈现正确的模板”do&#xA; ['path1','path2']。每个do | path |&#xA;得到'/',params:{path:path}&#xA; assert_template“#{path}”&#xA;结束&#xA;结束&#xA;
&#xA;&#xA; 本指南提供了有关如何测试控制器的更多详细信息。
&#XA;