首先看一组对照,比方说我们要測试的结果是一个Linearlaout

  • AssertJ Android:

    assertThat(layout).isVisible()
    .isVertical()
    .hasChildCount(4)
    .hasShowDividers(SHOW_DIVIDERS_MIDDLE);
  • Regular JUnit:

    assertEquals(View.VISIBLE, layout.getVisibility());
    assertEquals(VERTICAL, layout.getOrientation());
    assertEquals(4, layout.getChildCount());
    assertEquals(SHOW_DIVIDERS_MIDDLE, layout.getShowDividers());
  • Regular AssertJ:

    assertThat(layout.getVisibility()).isEqualTo(View.VISIBLE);
    assertThat(layout.getOrientation()).isEqualTo(VERTICAL);
    assertThat(layout.getChildCount()).isEqualTo(4);
    assertThat(layout.getShowDividers()).isEqualTo(SHOW_DIVIDERS_MIDDLE);

从形式上。使用上更加方便。

从输出结果上看,输出结果更加直接可见。

  • AssertJ Android:     Expected visibility <gone> but was <invisible>.

  • Regular JUnit          Expected:<[8]> but was:<[4]>

  • Regular AssertJ:     Expected: <8> but was: <4>

所以接下来我们来看看  Assert Android怎样来使用。
1首先写一个待測试的数据结构
 public class Draft{
      private String id;//草稿的唯一标识id 

      private String uid ;//发送账号uid,以差别不同账号的草稿

      private int type;//保存的类型
      private String displayedTitle;//展示标题内容
}
2 \首先我们来自己定义一个断言类:
   public class DraftAssert extends AbstractAssert<DraftAssert
,Draft>{
      public DraftAssert
(Draft draft){
 
     super(draft,DraftAssert.class);}
}   
   public static DraftAssert
 assertThat(Draft draft){
 
    return new
DraftAssert (draft);}
 
 public DraftAssert  hasDisplayedName(String name){
 
    isNotNull();
 
    if (!draft.getDisplayedTitle().equals(name)){
      failWithMessage(("Expected character's name to be <%s> but was <%s>", name,

draft.getDisplayedTitle());)

      return this;
}
}
3、使用的时候
 
   DraftAssert.assertThat(draft).hasDisplayedName("@罗浩");
 
   假设导入DraftAssert.assertThat静态导入的话,你还能够直接使用
 
   assertThat(draft).hasDisplayedName("@罗浩");


android中单元測试中的断言assert的使用与扩展的更多相关文章

  1. 单元測试中 Right-BICEP 和 CORRECT

    My Blog:http://www.outflush.com/ 在单元測试中,有6个总结出的值得測试的方面,这6个方面统称为 Right-BICEP.通过这6个方面的指导.能够较全然的測试出代码中的 ...

  2. Android 进行单元測试难在哪-part3

    原文链接 : HOW TO MAKE OUR ANDROID APPS UNIT TESTABLE (PT. 1) 原文作者 : Matthew Dupree 译文出自 : 开发技术前线 www.de ...

  3. Android studio及eclipse中的junit单元測试

    转载请标明出处:http://blog.csdn.net/nmyangmo/article/details/51179106 前一段时间有人问我单元測试的相关内容,我稍作总结做日志例如以下: 由于我接 ...

  4. Android单元測试之JUnit

    随着近期几年測试方面的工作慢慢火热起来.常常看见有招聘測试project师的招聘信息.在Java中有单元測试这么一个JUnit 方式,Android眼下主要编写的语言是Java,所以在Android开 ...

  5. (4.5.4)Android測试TestCase单元(Unit test)測试和instrumentationCase单元測试

    Android单元和instrumentation单元測试 Developing Android unit and instrumentation tests Android的单元測试是基于JUnit ...

  6. [iOS翻译]《iOS7 by Tutorials》在Xcode 5里使用单元測试(上)

    简单介绍: 单元測试是软件开发的一个重要方面.毕竟,单元測试能够帮你找到bug和崩溃原因,而程序崩溃是Apple在审查时拒绝app上架的首要原因. 单元測试不是万能的,但Apple把它作为开发工具包的 ...

  7. 聊聊单元測试(一)——EasyMock

    一.单元測试是保证软件质量的重要方法. 单元測试是对系统中某个模块功能的验证,但我们总会遇到这样那样的问题,导致測试代码非常难编写.最直接的一个原因便是强耦合关系,被測试者依赖一些不easy构造,比較 ...

  8. 在Eclipse中使用JUnit4进行单元測试(0基础篇)

    本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,须要写成千上万个方法或函数,这些函数的功能可能 ...

  9. OpenStack中给wsgi程序写单元測试的方法

    在 OpenStack 中, 针对web应用, 有三种方法来写单元測试 1) 使用webob生成模拟的request from __future__ import print_function imp ...

随机推荐

  1. react link引入外部css样式的坑

    刚开始的代码是这样的,使用react router4.x写的demo路由跳转后,页面的没有渲染,是因为没有引入外部css文件(或者说引入外部文件路径错误) <!DOCTYPE html> ...

  2. 怎样从SpringMVC返回json数据

    Srping3中配置 maven依赖pom.xml 需要jackson库的依赖 <dependency> <groupId>org.codehaus.jackson</g ...

  3. 懒癌晚期学图论的时候自己用C语言写了个求可达性矩阵的算法~

    可达性矩阵算法~ 直接上代码 #include <iostream> #include <cstring> using namespace std; #define n 5 v ...

  4. Map集合遍历的方式(以HashMap为例)

    环境:jdk1.8 HashMap的遍历方式有多种,下面将会一一列出. 首先我们先在HashMap中添加几个键值对. HashMap<Integer, String> map = new ...

  5. 安装composer及切换镜像为国内镜像

    一.下载composer php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 下面的 ...

  6. Sax解析xml文档

    测试的xml数据: <?xml version="1.0" encoding="utf-8" ?> <note> <to>G ...

  7. c:foreach 标签 varStatus的使用

    <c:forEach items="${MedicalDoctoList }" var="medicalDoctor" varStatus="s ...

  8. Poj 2187 旋转卡壳

    Poj 2187 旋转卡壳求解 传送门 旋转卡壳,是利用凸包性质来求解凸包最长点对的线性算法,我们逐渐改变每一次方向,然后枚举出这个方向上的踵点对(最远点对),类似于用游标卡尺卡着凸包旋转一周,答案就 ...

  9. POJ 2718 Smallest Difference(贪心 or next_permutation暴力枚举)

    Smallest Difference Description Given a number of distinct decimal digits, you can form one integer ...

  10. Python基础(十)re模块

    Python基础阶段快到一段落,下面会陆续来介绍python面向对象的编程,今天主要是补充几个知识点,下面开始今天的内容. 一.反射 反射的作用就是列出对象的所有属性和方法,反射就是告诉我们,这个对象 ...