库测试:如何创建一个Context?

时间:2018-02-24 17:50:36

标签: android junit4 android-context android-library android-testing

Android库测试:如何创建一个Context? e.g。

src/main/java
src/androidTest/java

android lib(主源集)使用android sqlite数据库,但没有任何Activity。 SQLiteOpenHelper需要一个Context来创建。

class MySQLiteOpenHelper extends SQLiteOpenHelper {
    MySQLiteOpenHelper(Context context, String database, int version) {
        super(context, database, null, version);
    }
}

如何创建用于测试的上下文?如何将Context传递给androidTest下的junit测试? e.g。

@Runner(Parameterized.class)
public class FooTest {
    @Test
    public void testFoo() {
        // how to get a Context instance?
        MySQLiteOpenHelper helper = new MySQLiteOpenHelper(context, "test.db", 1);
        ...
    }
}

1 个答案:

答案 0 :(得分:0)

  

如何创建用于测试的上下文?

致电InstrumentationRegistry.getTargetContext()获取正在测试的应用或模块的Context