Testing unsuccessful edits
接下來要為失敗的編輯寫個整合測試,首先建立一個整合測試檔案:
$ rails generate integration_test users_edit
invoke test_unit
create test/integration/users_edit_test.rb
這段測試主要是檢查提交無效的編輯資料之後,會重新渲染編輯頁面:
test/integration/users_edit_test.rb
require 'test_helper'
class UsersEditTest < ActionDispatch::IntegrationTest
def setup
@user = users(:michael)
end
test "unsuccessful edit" do
get edit_user_path(@user)
assert_template 'users/edit'
patch user_path(@user), user: { name: "",
email: "foo@invalid",
password: "foo",
password_confirmation: "bar" }
assert_template 'users/edit'
end
end
執行測試應該會通過(Green):
$ bundle exec rake test