アサーションのいくつかが同じであるいくつかの統合テストがあります。保守性の問題については、ユニークな機能の下で各テストの共通のアサーションを再編成したいと思います。例えば関数内に繰り返しアサーションをカプセル化する
test "login with invalid information" do
get login_path
assert_template 'sessions/new'
post login_path, params: { session: { email: "", password: "" } }
assert_template 'sessions/new'
assert_not flash.empty?
get root_path
assert flash.empty?
end
test "login with valid information followed by logout" do
get login_path
assert_template 'sessions/new'
post login_path, params: { session: { email: @user.email, password: "password" } }
.
end
、
get login_path
assert_template 'sessions/new'
ビットは二つの試験の内側繰り返されます。これをより保守性の高いものにするにはどうすればよいですか?