私は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 にサンプル値を割り当てると、テストに合格します。教えてください、私は正しい道を進んでいますか?そうでない場合は、他の代替案を提案してください。