これは、Capybara と Rspec を使用して確実に実現できます。
ここの指示に従ってカピバラをインストールしますhttps://github.com/jnicklas/capybara#using-capybara-with-rspec - ヒント、指定するディレクトリに名前を付けてくださいfeatures
次に、カピバラを使用してアプリケーションをテストします
したがって、サインアップをテストするには、この例が機能するはずです。明らかに、アプリケーションに基づいてパラメーターとルートを調整する必要があります。
require 'spec_helper'
feature 'Signing up' do
scenario 'creates a new user' do
visit '/users/sign_up'
password = 'samplepassword'
fill_in 'First name', with: 'Testy'
fill_in 'Last name', with: 'McTester'
fill_in 'Email', with: 'testy@example.com'
fill_in 'Password', with: password
fill_in 'Password confirmation', with: password
click_link 'Sign up'
expect(page).to have_content 'You have signed up successfully'
end
end
Devise には、アプリの他の領域をテストするときに使用できるテスト ヘルパーもありますhttps://github.com/plataformatec/devise#test-helpers
これらは、さまざまなページに設定した制限が正しいことを確認するのに特に役立ちます。ユーザーがサインインしている場合や間違った役割を持っている場合などに何が起こるかをテストすることで、この動作をテストできます。