これ (データをエレガントに処理するので、データを復元することを心配する必要はありません)は、モック オブジェクトを使用したテストの目的ではないでしょうか? Androidはモッキングをサポートしています。
Androidを嘲笑したことがないので、質問します。
私の経験とこのブログ投稿から、Android テストがスイートに作成され、InstrumentationTestRunnerによって実行される場合- ActivityInstrumentationTestCase2は、 InstrumentationTestCaseの拡張であるActivityTestCaseの拡張です- それらは を使用してアルファベット順に並べられるため、単に復元できます次のように、テスト名の中でアルファベットの一番下にあるメソッドを使用した DB:android.test.suitebuilder.TestGrouping.SORT_BY_FULLY_QUALIFIED_NAME
// underscore is low in the alphabet
public void test___________Restore() {
...
}
ノート:
継承されたテストはこの順序で実行されないため、注意が必要です。解決策は、継承されたすべてのテストをオーバーライドし、単純にオーバーライドから super() を呼び出すことです。これにより、すべてがアルファベット順に実行されます。
例:
// Reusable class w only one time setup and finish.
// Abstract so it is not run by itself.
public abstract class Parent extends InstrumentationTestCase {
@LargeTest
public void test_001_Setup() { ... }
@LargeTest
public void test_____Finish() { ... }
}
/*-----------------------------------------------------------------------------*/
// These will run in order shown due to naming.
// Inherited tests would not run in order shown w/o the use of overrides & supers
public class Child extends Parent {
@LargeTest
public void test_001_Setup() { super.test_001_Setup(); }
@SmallTest
public void test_002_MainViewIsVisible() { ... }
...
@LargeTest
public void test_____Finish() { super.test_____Finish(); }
}