3

実行中の各テストの前にクリアしたいのdbですが、この動作を実現するためのスクリプトをどこに配置すればよいですか?

4

1 に答える 1

6

なぜこれをやりたいのか想像できませんが、おそらくこれを試すことができます: https://github.com/bmabey/database_cleaner

いずれにせよ、すべてのテストの前に呼び出すことができるステートメントは、setup の呼び出しに入れる必要があります。

setup do
    # statements executed on start of every test
end

更新:もう少し説明するには:

できることの1つは、test_helper.rbファイル内です。

class ActiveSupport::TestCase

  ### Common setup for all tests ###
  setup do
      # write code to clean up your database here
  end

end

次に、実際のテストファイルでは、派生したテストクラスがActiveSupport::TestCase必要ですrequire 'test_helper'.

そうすれば、実行するすべてのテストの前に、セットアップ コードが実行されます。

これは、最初の回答で私が書いたことをもう少し説明していますか?

于 2012-04-20T20:31:54.890 に答える