我有一个带有以下操作的示例控制器,我正在编写一个请求规范:
def subscribe_user
concept = UsersConcept::Subscribe.new(user_params)
concept.run
respond_to do |format|
format.html { redirect_to users_path, notice: concept.notice_msg }
end
end
private
def user_params
params.require(:user).permit(:id, :channel_id)
end
我是否正确编写以下测试:
UsersConcept::Subscribe
来电new
run
或者我应该专注于编写测试以验证重定向,错误消息等。 提前谢谢。
答案 0 :(得分:1)
Rails和RSpec团队建议更换或删除应用程序的控制器测试(也称为功能测试层),支持直接测试模型(单元)或更高级别的集成测试。
在这里您可以找到文章和一些示例代码:
https://everydayrails.com/2016/08/29/replace-rspec-controller-tests.html
对于您的操作,您可以测试重定向,成功或错误消息,订阅表中的数据库更改...