Java 运行单元测试后,SQLite似乎自动清除,但SharedReferences不';T是这样吗?

Java 运行单元测试后,SQLite似乎自动清除,但SharedReferences不';T是这样吗?,java,android,sqlite,android-studio,Java,Android,Sqlite,Android Studio,在运行检测单元测试后,我发现SQLite数据似乎自动清除,但SharedReferences文件仍然保留在我的设备中。我错了吗?在这两种情况下,我使用相同的模拟上下文来创建SQLiteOpenHelper和SharedReference 下面列出了简化的代码段 @RunWith(AndroidJUnit4.class) public class MyTest { Context mMockContext; @Before public void setUp() {

在运行检测单元测试后,我发现SQLite数据似乎自动清除,但SharedReferences文件仍然保留在我的设备中。我错了吗?在这两种情况下,我使用相同的模拟上下文来创建SQLiteOpenHelper和SharedReference

下面列出了简化的代码段

@RunWith(AndroidJUnit4.class)
public class MyTest {

    Context mMockContext;

    @Before
    public void setUp() {
        mMockContext = new RenamingDelegatingContext(InstrumentationRegistry.getInstrumentation().getTargetContext(), "test_");
    }

    @Test
    public void testSQLite() throws Exception {
        MySQLiteOpenHelper dbHelper = new MySQLiteOpenHelper(mMockContext);
        ...
    }

    @Test
    public void testSharedPreferences() throws Exception {
        SharedPreferences settings = mMockContext.getSharedPreferences("Foo", 0);
        ...
    }
}

是的,如果您不手动删除它,这些资源仍然存在

<>为了保持测试与其他测试隔离,考虑在以下两个方面清除这些资源:

@AfterClass
public void tearDownClass() { }
或:


是的,如果您不手动删除它,这些资源仍然存在

<>为了保持测试与其他测试隔离,考虑在以下两个方面清除这些资源:

@AfterClass
public void tearDownClass() { }
或: