テストにはrspec-rails、ポルターガイスト(phantomjs)を備えたカピバラを使用しています。認証ジェムにソーサリーを使用しています。
これまでのところ、基本的なユーザー モデルしか実装していませんが、すべてのルートが機能signup_path
します。自分のブラウザで localhost:3000/register にアクセスすると、問題なく動作します
これがサンプルとしての私のテストコードです
it "shows a valid signup path", js: true do
visit signup_path
page.should have_content("Sign Up")
end
次のエラーが表示されます。
expected there to be text "Sign Up" in
"Internal Server Error undefined method `escape' for
nil:NilClass WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) at 127.0.0.1:55402"
signup_path
アプリ内の他のルートに置き換えることができます。テストは失敗しますが、少なくとも「サインアップが見つかりません」と表示され<insert content of that page here>
ます。したがって、テストが失敗しても、テストの出力からそのページのコンテンツを露骨に見ることができます。ただし、signup_path の場合は、失敗するだけです。自分のブラウザーでアクセスすると機能するため、自分でエラーを表示することはできません。
これが私のルートです
# User
get 'register' => 'users#new', :as => 'signup'
resources :users, :only => [:create, :edit, :update]
# Session Authentication
get 'login' => 'sessions#new', :as => 'login'
get 'logout' => 'sessions#destroy', :as => 'logout'
resources :sessions, :except => [:new, :destroy]