是否可以测试RoboContentProvider?

时间:2016-03-24 04:42:59

标签: android unit-testing roboguice

我一直在努力进行这项测试。我想使用RoboGuice测试我创建的ContentProvider。

目前我从RoboContentProvider扩展了ContentProvider。

但是,我无法让它运行。

它说接口没有实现。但是,正在定义模块,因此只有一个。

以下是AndroidTestCase上setUp方法的代码。

@Override
public void setUp() {
    Context context = InstrumentationRegistry.getTargetContext();
    Application app = null;
    try {
        app = InstrumentationRegistry
                .getInstrumentation()
                .newApplication(Application.class.getClassLoader(), Application.class.getName(), context);

        RoboGuice.setUseAnnotationDatabases(false);
        RoboGuice.overrideApplicationInjector(app,
                RoboGuice.newDefaultRoboModule(app),
                new DatabaseModule(app)
        );

        mContentResolver = new MockContentResolver();
        mContentProvider = new MobiModelsContentProvider();
        mContentProvider.attachInfo(app, null);
        mContentResolver.addProvider("com.authority.models.test", mContentProvider);

    } catch (InstantiationException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

0 个答案:

没有答案