Android项目中的单元测试(Junit4)

Android项目中的单元测试(Junit4)

我们将要编写一个简单的测试
被测试类:UserShare
测试类:UserShareTest

直接开始步骤吧

第一步: 在module层级build文件中添加依赖

androidTestCompile 'com.android.support:support-annotations:23.4.0'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'

我这里出现了冲突,因为appcompat的版本是v7:23.4.0’,test的版本号原来填写是24.0,所以我将test的版本降级为23.4(官网说明中的版本是24.0)

在as中新建User类

    public class User {
    String name;
    int age ;
    public String getName() {
        return name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    @Override
    public String toString() {
        return new Gson().toJson(this);
    }
    public static User toObject(String str){
        return new Gson().fromJson(str,User.class);
    }

注意:这里用到了Gson,需要自己添加依赖

编写UserShare类

public class UserShare {

    public void save(Context c , User user){
        SharedPreferences sharedPreferences = c.getSharedPreferences("user" ,0);
        SharedPreferences.Editor edit = sharedPreferences.edit();
        edit.putString("user" , user.toString());
        edit.commit();
    }

    public User get(Context c){
        User user = null;
        SharedPreferences sharedPreferences = c.getSharedPreferences("user" ,0);
        String str = sharedPreferences.getString("user", null);
        if (str!=null){
            user = User.toObject(str);
        }

        return user;
    }

在代码编辑器(UserShare类)中直接ctrl+t,会提示创建一个测试类,在这里附加上代码即可

public class UserShareTest {

    UserShare userShare ;
    User mUser;
    Context context;


    @Before
    public void setUp() throws Exception {
        context = InstrumentationRegistry.getTargetContext();
        userShare = new UserShare();
        mUser = new User();
        mUser.setName("abcd");
        mUser.setAge(12);
    }

    @Ignore
    @Test
    public void save() throws Exception {

    }

    @Test
    public void get() throws Exception {
        userShare.save(context,mUser);
        User user2 = userShare.get(context);
        assertEquals(user2.toString() , mUser.toString());
    }
}

点击代码编辑器中的开始,没有问题的话会提示测试通过

说明一下:
@Before是测试开始前的方法,会在@test方法开始前执行
@Test是验证结果的方法
@After是测试结束执行的方法
@Ignore 如果这个方法不需要进行测试,那么标记@Ignore

OK,结束!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值