在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);
}