实践Android Studio Junit单元测试

Android Studio Junit单元测试:


首先新建一个类,测试其中的方法。

package com.example.testnewas;

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;

/**
 * Created by ylh on 2017/11/3 0003.
 */

public class ReadContantsEngine {

    //读取手机联系人方法
    public static void readContacts(Context context) {

        ContentResolver contentResolver = context.getContentResolver();
        Uri uri = Uri.parse("content://com.android.contacts/contacts");
        Uri uridatas = Uri.parse("content://com.android.contacts/data");

        Cursor cursor = contentResolver.query(uri, new String[]{"_id"}, null, null, null);
        //循环取出数据
        while (cursor.moveToNext()){
            System.out.println(cursor.getString(0));

            String id = cursor.getString(0);//获取到联系人的id

            Cursor cursor1 = contentResolver.query(uridatas, new String[]{"data1", "mimetype"}, "raw_contact_id = ?", new String[]{id}, null);
            while (cursor1.moveToNext()){
                String data = cursor1.getString(0);
                String mimetype = cursor1.getString(1);
                if (mimetype.equals("vnd.android.cursor.item/name")){
                    System.out.println("第"+id+"个用户 名字:"+data);
                } else if (mimetype.equals("vnd.android.cursor.item/phone_v2")){
                    System.out.println("第"+id+"个用户 电话:"+data);
                }
            }
            cursor1.close();
        }
        cursor.close();
    }
}

第一种方法:

(1)鼠标右键选中ReadContantsEngine类

Go To -> Test -> Creat New Test -> 选中 readContacts方法 -> [OK]

package com.example.testnewas;

import org.junit.Test;

import static android.support.test.InstrumentationRegistry.getContext;
import static org.junit.Assert.*;

/**
 * Created by ylh on 2017/11/3 0003.
 */
public class ReadContantsEngineTest {
    @Test
    public void readContants() throws Exception {
        ReadContantsEngine.readContacts(getContext());
    }

}
(2)鼠标右键选中ReadContantsEngineTest

run ReadContantsEngineTest

result:1 test failed



权限问题,在AndroidManifest.xml中加上

<uses-permission android:name="android.permission.READ_CONTACTS"/>

再次测试,通过,Logcat输出打印



第二种方法:

(1)在androidTest包下新建测试类MyTest

package com.example.testnewas;

import android.test.AndroidTestCase;

/**
 * Created by ylh on 2017/11/3 0003.
 */

public class MyTest extends AndroidTestCase {

    public void testRead(){
        ReadContantsEngine.readContacts(getContext());
    }
}

其余步骤同上




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值