rails tutorial に関する質問です。
チュートリアルでは、ヘルパーメソッドがテストから呼び出せないから、テストでもユーザーがログイン中かどうかを確認できるようにする為に、test_helperファイルに
ruby
1ENV['RAILS_ENV'] ||= 'test' 2. 3. 4. 5class ActiveSupport::TestCase 6 fixtures :all 7 8 # テストユーザーがログイン中の場合にtrueを返す 9 def is_logged_in? 10 !session[:user_id].nil? 11 end 12end
と新しくテスト用の関数is_logged_in?を定義するとしています。
これを定義する代わりに
ruby
1ENV['RAILS_ENV'] ||= 'test' 2. 3. 4. 5class ActiveSupport::TestCase 6 fixtures :all 7 include SessionsHelper 8end
としてヘルパーメソッドがテスト内でも使えるようにもできると思うのですが、新しくテスト用に関数を定義しなくてはならない理由があるのでしょうか?(このチュートリアルに関してだと新しく定義した関数の方がデータベースにアクセスしない分少し速度面で優れているということは分かっています。)
「テスト(Minitest)でテスト用のヘルパーでない普通のヘルパーを使っていいのか?」ということが分からないので気になっています。
あなたの回答
tips
プレビュー