Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中测试联系人_Android_Testing_Android Manifest_Android Contacts - Fatal编程技术网

在android中测试联系人

在android中测试联系人,android,testing,android-manifest,android-contacts,Android,Testing,Android Manifest,Android Contacts,我有一个按姓名、电子邮件或电话过滤联系人的类。 我为这个类编写了一个测试,它使用目标上下文并能够正确地测试功能 public class ContactsManagerTest extends InstrumentationTestCase { protected void setUp() throws Exception { super.setUp(); mContext = getInstrumentation().getTargetContext(

我有一个按姓名、电子邮件或电话过滤联系人的类。 我为这个类编写了一个测试,它使用目标上下文并能够正确地测试功能

public class ContactsManagerTest extends InstrumentationTestCase {

    protected void setUp() throws Exception {
        super.setUp();
        mContext = getInstrumentation().getTargetContext();
        mContactsManager = new ContactsManager(mContext);
    }

    public void testFilterWhenQueryMatchEmail() {
        List<SearchableContact> contacts = mContactsManager.filter("john.smith@gmail.com");
        Assert.assertFalse(contacts.isEmpty());
    }
}
但是,我得到了以下错误:com.example.ifeins.sandbox.testfrom uid 10082不允许执行读取\u联系人

我尝试使用READ_CONTACTS权限向app/src/androidTest/AndroidManifest.xml添加一个AndroidManifest.xml文件,但没有效果

谢谢,
Ido

看起来您只想测试过滤器功能

如果是这种情况,您应该使用模拟类来表示mContext。并使用设置功能填充其中的值


如果您不知道Mocking是什么:

我宁愿做一个集成测试,让我对我的类正常工作更有信心。很抱歉,响应太晚,这可能不是您想要的,但您是否签出了:我以前没有尝试过这些,但我确实尝试过使用selenium开发web应用程序,似乎效果不错。
    protected void setUp() throws Exception {
        super.setUp();
        mContext = getInstrumentation().getContext();
        mContactsManager = new ContactsManager(mContext);
    }