2

テストの実行ごとにデータベースを再作成する必要があります。アプリケーションのテストを自動化するために使用Robotiumしているため、各テストはActivityInstrumentationTestCase2. 私が見つけたのはRenamingDelegatingContext、 new をモックするために使用できることContextです。しかし、私が拡張している限り、クラスにあるものはActivityInstrumentationTestCase2使用できません。道を間違えただけかもしれません。もしあれば、データベースを再作成する別の方法をアドバイスしてください。どうもありがとうございました。setActivityContext()ActivityUnitTestCase

4

1 に答える 1

4

しばらくの間、renamingdelegatingcontextを使用しようとしましたが、ActivityInstrumentationTestCase2内で使用するように指示できる限り、アプリケーションが実際にアプリケーションを拡張し、特定のコードが含まれているために実行できなかったアプリケーションをモックアウトする必要があるため、失敗しました。 onCreateとそれは全体的に恐ろしい問題になりました。

次に、簡単なルートを使用して、実行のたびにデータベースをクリアしました(共有設定とCookieも同様)

context.deleteDatabase(DATABASE_NAME)

私はこれが(驚くべきことに)遅すぎないことを発見しました(とにかくGUIを介して何かをテストすることと比較してではありません)。正しくセットアップされますが、これはかなり簡単です。

ああ、言うまでもなく、私はこのすべてのコードをActivityInstrumentationTestCase2を拡張する新しいテストクラスに配置していたので、セットアップ/ティアダウンで自動的に発生しました。

于 2013-02-28T18:00:35.407 に答える