我是 rspec 测试的新手。我需要编写测试代码来创建新记录并检查计数是否为 1。
我正在将 rails 与 ios 应用程序集成。
在我的registration_controller
@name = User.find_by_name(params[:user][:name]])
#params[:user][:name]] value from ios app
if !@name.nil?
user = User.new("email" => params[:user][:email])
end
在我的registration_controller_spec
expect {
post :create, {:user => { 'email' => 'xxx@yyy.com'}}
}.to change(User, :count).by(1)
控制器中的 if 条件不允许我通过测试。
Failure/Error: expect {
count should have been changed by 1, but was changed by 0
如果我在控制器中为 @name 分配任何样本值,则测试通过。请让我知道,我是否走在正确的道路上?如果没有,建议任何其他替代方案。