专栏首页小巫技术博客Android Junit单元测试-声明套件类

Android Junit单元测试-声明套件类

不知道大家日常开发会不会写单元测试用例,也是我们常说的小型测试,我们通常会为一些可测试的模块或类单独写一个测试类,如果我们测试类比较多的话我们就可能会声明一个测试套件类来统一运行多个测试类,本文就简单说一下如何来定义和声明测试套件类.

JUnit中声明套件类主要是通过注解来实现的,这里有以下几个注解需要关注下:

  • @RunWith(注解生命该类为一个测试入口(该类中不包含其他方法)
  • @Category(用于指定分类执行)
  • @Suite.SuiteClasse(用于指定套件运行的测试类)

下面是我们声明小型测试套件类的实践:

声明小型测试接口

/**
 * 单元测试用例归属的策略,Small表示小粒度、原子粒度的用例。 一个用例只验证一个原子的功能,如测试util类方法或者dao层的方法.
 * 
 * @author devilwwj
 */public interface Small {
}

创建单元测试类

@Category(Small.class)
public class ExampleUnitTest {

    @Test
    public void addition_isCorrect() throws Exception {
        assertEquals(4, 2 + 2);
    }
}

注意在类声明了Small的类型。

声明runner

/**
 * 单元测试套件类.
 *
 * @author devilwwj
 * @since 2017/7/26
 */
@RunWith(Categories.class)
@Categories.IncludeCategory(Small.class)
@Suite.SuiteClasses({ExampleUnitTest.class, ExampleUnitTest2.class})
public class SmallTestRunner {
}

以后我们只需要在@Suite.SuiteClasses声明新增的单元测试类即可。

执行效果如下:

类似的针对大、中、冒泡等类型的分类也可以通过这种方式来做。

本文分享自微信公众号 - 小巫技术博客(wwjblog),作者:巫山老妖

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 《软件工程之美》打卡第五周

    上周因为临时公司有紧急需求,大部分时间都投入到工作上,所以就暂缓打卡的计划,这周正式进入远程办公的第一周,继续把专栏的学习计划滚动起来,这周会分享宝玉老师的极客...

    用户1130025
  • 《软件工程之美》打卡第六周

    上一周我给大家总结分享了软件工程之美当中的开发编码篇,这周会继续分享软件测试篇中的内容:

    用户1130025
  • 应用被强杀了怎么办

    用户1130025
  • 大型网站技术架构,网站的高性能架构(二)

    网站的性能指标,既可以是开发人员客观的性能分析数据,测试指标。也可以是主观的终端用户体验感受。一般而言,我们用如下指一些标来衡定一个网站的性能水平:响应时间、并...

    用户5997198
  • 简单尝试Spring Cloud Gateway

    Spring Cloud Gateway是一个API网关,它是用于代替Zuul而出现的。Spring Cloud Gateway构建于Spring生态系统之上,...

    小忽悠
  • Android 单元测试和 UI 测试初步实践

    对于大多数 Android 商业项目,基本都是处于高速迭代的开发阶段,这个阶段不仅仅是对项目的开发效率,也对项目的产品质量提出了更高的要求。

    小老鼠
  • sqlserver~创建函数

    Vincent-yuan
  • 学习 Kubernetes 原生 Serverless 无服务架构 Kubeless

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    哎_小羊
  • 使用交互式地图和动画可视化伦敦的自行车流动性(下)

    上面的代码使用了一种动态的颜色方案,这取决于站点的容量。我们还可以根据每个站点的出发和到达次数,为这些圆形标记实现动态半径方案。我们可以得到我们所称的密度图,显...

    AiTechYun
  • 干货 | MTCNN实时人脸检测网络详解与代码演示

    多任务卷积神经网络(MTCNN)实现人脸检测与对齐是在一个网络里实现了人脸检测与五点标定的模型,主要是通过CNN模型级联实现了多任务学习网络。整个模型分为三个阶...

    OpenCV学堂

扫码关注云+社区

领取腾讯云代金券