作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 Address 的多态模型,目前我正在尝试为此模型和 Controller 编写一些基本功能测试。对于 Controller ,我不知道如何去做。例如,我有另一个名为 Patient 的模型,每个 Patient 都有一个地址,所以我开始编写以下函数测试,但我不知道如何将“get”与嵌套多态资源一起使用。现在我可以在这里找到一些关于 Fixtures 的多态测试信息:http://api.rubyonrails.org/classes/Fixtures.html但这不会帮助我测试索引。非常感谢任何帮助,我在这里完全失去了。
文件:测试/功能/addresses_controller_test.rb
require 'test_helper'
class AddressesControllerTest < ActionController::TestCase
setup do
@address = addresses(:of_patient)
@patient = patients(:one)
activate_authlogic
end
test "patient addresses index without user" do
get :index <<<<<<<<<<<< what goes here????
assert_redirected_to :login
end
end
最佳答案
假设您的 Controller 按照我认为的方式设置:
def index
if @current_user
@addresses = @current_user.addresses.all
else
redirect_to login_path
end
end
那么测试大概是这样的:
test "patient addresses index without user" do
get :index, :patient_id => @patient.id
assert_redirected_to :login
end
test "patient addresses with user" do
@current_user = @patient
get :index, :patient_id => @patient.id
assert_response :success
end
要记住的是,index 方法需要 patient_id 才能处理。
关于ruby-on-rails - Ruby On Rails 功能测试 :index with a polymorphic model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5210251/
我是一名优秀的程序员,十分优秀!