12

最近、テストのサブクラスが Test::Unit::TestCase の場合、テストの実行後にテスト データベースがクリーンアップされていないことに気付きました。私のテストが ActiveSupport::TestCase のサブクラスである場合、すべてが適切にクリーンアップされます。

誰かが理由を説明したり、どちらを使用するかを説明したりできますか?

私はshouldaとfactory_girlを使用しています。

ありがとう。

4

1 に答える 1

19

コードを見ると、 RailsActiveSupport::TestCaseをテストするためのセットアップ関数とユーティリティ関数がたくさんあることがわかります。古いバージョンの Rails は多くの mixin で使用されてTest::Unit::TestCaseいましたが、しばらく前にサブクラス化に移行しました。

Rails アプリをテストする場合は、コントローラーのActiveSupport::TestCaseorをサブクラス化する必要があります。ActionController:TestCaseジェネレーターはこれを自動的に行うため、ほとんどの場合、これについて考える必要はありません。

于 2010-01-18T07:50:35.973 に答える