如何使用ProviderTestCase2或RenamingDelegatingContext清理数据库

时间:2016-05-20 20:43:34

标签: android database unit-testing android-contentprovider android-instrumentation

我不明白我应该做什么才能从应用程序使用的数据库中获得一个干净且不同的数据库。 这是我的测试类:

public class SQLTest extends ProviderTestCase2{

    private static String testDbPrefix = "unitTest_";

    public SQLTest (){
        super(MyContentProvider.class, MyContract.CONTENT_AUTHORITY);
    }

    @Override
    @Before
    public void setUp() throws Exception {
        //setContext(InstrumentationRegistry.getTargetContext());
        RenamingDelegatingContext context = new RenamingDelegatingContext(InstrumentationRegistry.getTargetContext(), testDbPrefix);
        setContext(context);
        super.setUp();
    }


    @Test
    public void test1(){
      //test logic
    }
}

我注意到它总是在应用程序使用的数据库上运行,即使我使用的是ProviderTestCase2和RenamingDelegatingContext,它们应该确保我使用干净的数据库运行。 请问任何人解释我错过了什么???

提前致谢!

0 个答案:

没有答案