このコードは機能していますが、堅牢/優れた慣行/慣用句であることを確認したいと思います。背景: 私は Michael Hartl の rails チュートリアルに従っており、8.5 (第 8 章の演習) に取り組んでおり、テストを実装から切り離しています。
user_pages_spec.rb のコードが気に入らなかった
expect { click_button submit }.not_to change(User, :count)
change(User, :count)
少しハックのように見えるので。そのため、spec/support/utilities.rb に次のように書きました。
def create_user
change(User, :count)
end
そして、 user_pages_spec.rb の行を次のように置き換えました
expect { click_button submit }.not_to create_user
これは賢明でしたか?