是否有标准或最佳实践方法来测试 Rails 中的操作是否返回正确的文本?例如,我有一个用于执行 ajax 验证的简单操作,它执行以下操作:
def get_object_id
if params[:id].blank?
return render(:text => -1, :layout => false)
end
my_object = MyObject.find_by_id(params[:id].strip)
# If the object is valid return the object id
if my_object and my_object.active?
return render(:text => my_object.id, :layout => false)
end
# Otherwise, return -1
return render(:text => -1, :layout => false)
end
现在,我在我的测试中使用@response 对象......即:
def test_get_object_id_returns_invalid_for_non_existent_id
# Act
get :get_object_id, :id => 999
# Assert
assert_response :success
assert_equal "-1", @response.body
end
但是,尽管对 Rails 来说大多是新手,但到目前为止我所看到的似乎表明,除了检查之外,可能还有更好的方法来做到这一点@request.body
。
所以,我对你们红宝石专家的问题是:这是最好的方法吗?