如何模拟内容提供者进行单元测试?

时间:2019-01-08 07:11:21

标签: android unit-testing junit android-contentprovider android-contentresolver

我需要使用内容解析器来模拟提供程序。我尝试在引用此链接clickhere

时对其进行嘲笑

下面是我尝试过的代码。

public class LauncherTest extends ProviderTestCase2<UserProvider> {
    public LauncherTest() {
        super(UserProvider.class,UserProvider.PROVIDER_NAME);
    }
    public void testAddUser(){
        //MOCKING PROVIDER*******************
        ContentValues values = new ContentValues();
        values.put(UserProvider.USER_ID,"11");
        values.put(UserProvider.USER_INFO,"TEST");
        Uri uri = getMockContentResolver().insert(UserProvider.CONTENT_USER_URI, values);
        assertNotNull(uri);
    }
}

但是在运行此测试用例时,我得到了空指针异常。 这是我需要测试的功能,

private void addUser(String userId, String userInfo, ContentResolver contentResolver, LauncherServerCallback callback) {

    ContentValues values = new ContentValues();
    values.put(UserProvider.USER_ID, userId);
    values.put(UserProvider.USER_INFO, userInfo);
    try {
        Uri uri = contentResolver.insert(UserProvider.CONTENT_USER_URI, values);
    } catch (Exception e) {
        callback.onError(e);
    }
}

请帮助我解决此问题

0 个答案:

没有答案
相关问题