Google官方Android MVP架构Demo之单元测试

本文详细介绍了Google官方2016年的Android MVP架构Demo中的单元测试,重点讨论了MVP架构的三层——Model、View、Presenter的测试方法。文章提到了Junit、Mockito、AndroidJunitRunner和Espresso等测试工具的使用,并通过实例分析了如何在不同层进行单元测试,强调了单元测试在软件开发中的重要性。
摘要由CSDN通过智能技术生成

Google官方Android MVP架构Demo之单元测试

Google在2016年推出了官方的Android MVP架构Demo,与此Demo相关的分析在网上有很多,但是关于单元测试的分析不是很多,而单元测试是我认为每一个应用开发中不可或缺的一部分,它不仅可以检测我们代码的健壮性,还能约束我们的开发习惯,让我们依循规范进行开发。

Android环境下的单元测试,与传统意义上的单元测试存在差异,传统意义上的单元测试一般不依赖设备环境,仅仅通过开发工具便能完成大部分测试。而在Android中,因为开发工具并不能模拟真实设备环境,因此,导致很多单元测试无法进行,这也是很多开发者头疼的问题。与其百思不得解,不如一起看一下官方是如何进行单元测试的。

Google官方MVP架构Demo

关于MVP架构

MVP架构已经推出很多年了,现在已经非常普及了,我在这里就不过多介绍,简单的说,它分为以下三个层次:

  • Model:数据模型层,主要用来数据处理,获取数据;
  • View:显示界面元素,和用户进行界面交互;
  • Presenter: 是Model和View沟通的桥梁,不关心具体的View显示和Model的数据处理。View层中所有的逻辑操作都通过Presenter去通知Model层去完成,Model中获取的数据通过Presenter层去通知View层显示。

MVP架构最大的好处,就是把传统MVC架构中View层和Control层的复杂关系完全解耦,View层只关心界面显示相关的工作即可,Model层仅获取数据,处理逻辑运算即可,各司其职,而不用关心其他工作。

关于单元测试工具

MVP Demo中所使用的单元测试工具有以下几种:

1. Junit
Android自带的单元测试框架,主要用来测试不依赖Android环境,主要是用来测试逻辑操作的Presenter层和Model层。

2. Mockito
一个用来模拟数据的开源框。配合Junit框架测试Presenter的逻辑操作,用来模拟Model层的数据,目的是不让Model层的因缺乏真实数据阻塞测试。

3. AndroidJunitRunner
此框架也是Android自带的测试框架,包含了Android相关的环境。此框架配合Espresso用来测试View层的显示是否正确,需要在真机上运行。

4. Espresso
一个简洁高效的UI测试框架,可以用来很方便的模拟用户的真实操作,通用也需要在真机上运行。

以上基本上就是Demo中使用的主要测试框架,若不了解的,请先学习一下相关基础知识。

功能界面分析与测试

Demo中包含很多功能点,由于仅仅只是分析在MVP框架中单元测试是如何进行的,因此,这里仅仅选用某几个单独的功能点进行分析。

功能界面分析

在开始介绍单元测试之前,我们先介绍主页TasksActivityTasksFragment相关的功能实现逻辑,以便更好的理解单元测试的使用。

首先,我们介绍一下加载任务列表此功能的逻辑。当用户点击加载任务列表时,各个模块的功能分别为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值