テストの実行ごとにデータベースを再作成する必要があります。アプリケーションのテストを自動化するために使用Robotium
しているため、各テストはActivityInstrumentationTestCase2
. 私が見つけたのはRenamingDelegatingContext
、 new をモックするために使用できることContext
です。しかし、私が拡張している限り、クラスにあるものはActivityInstrumentationTestCase2
使用できません。道を間違えただけかもしれません。もしあれば、データベースを再作成する別の方法をアドバイスしてください。どうもありがとうございました。setActivityContext()
ActivityUnitTestCase
1 に答える
4
しばらくの間、renamingdelegatingcontextを使用しようとしましたが、ActivityInstrumentationTestCase2内で使用するように指示できる限り、アプリケーションが実際にアプリケーションを拡張し、特定のコードが含まれているために実行できなかったアプリケーションをモックアウトする必要があるため、失敗しました。 onCreateとそれは全体的に恐ろしい問題になりました。
次に、簡単なルートを使用して、実行のたびにデータベースをクリアしました(共有設定とCookieも同様)
context.deleteDatabase(DATABASE_NAME)
私はこれが(驚くべきことに)遅すぎないことを発見しました(とにかくGUIを介して何かをテストすることと比較してではありません)。正しくセットアップされますが、これはかなり簡単です。
ああ、言うまでもなく、私はこのすべてのコードをActivityInstrumentationTestCase2を拡張する新しいテストクラスに配置していたので、セットアップ/ティアダウンで自動的に発生しました。
于 2013-02-28T18:00:35.407 に答える