我是RSpec的新手,我想测试控制器的if-else条件,我在互联网上搜索了一下,但找不到正确的结果。
def edit
if @question.user_id == current_user.id
render :edit
else
redirect_to root_path
end
end
我正在使用导轨6请指导我如何在一个例子的帮助下为这种情况编写RSpec。
要在RSpec中测试这一点,您需要操作传递给控制器的参数,以生成条件@question.user_id == current_user.id
上的变量。
通常在rspec中,你会对所有的控制器都有这样的东西,通常包括一个动作前
before do
get :edit, params
end
您传入的params
应根据要测试的条件而有所不同。