美文网首页
Java单元测试杂谈

Java单元测试杂谈

作者: 雷神VeryYoung | 来源:发表于2020-01-22 11:32 被阅读0次

1.概念

单元测试概念参考百科吧,好的单元测试感觉像空气一样并不存在,但又不可或缺。单元测试遵守AIR原则(摘自《阿里巴巴Java开发手册》,Automatic自动化、Independent独立性、Repeatable可重复)。编写单元测试代码遵守BCDE原则(摘自《阿里巴巴Java开发手册》,Border边界值测试包括循环边界特殊取值特殊时间点数据顺序等、Correct正确的输入并得到预期的结果、Design与设计文档相结合来编写单元测试、Error强制错误信息非法数据异常数据非业务允许输入等录入并得到预期结果)。
单元测试用来保证当前一段代码/接口功能的正确性
保证代码修复、改进或重构之后的正确性
单元测试并不一定保证程序功能是正确的,更不保证整体业务的准确性

2.目的

提高代码质量
减少bug,快速定位bug
放心地修改、重构

3.手段

3.1.mock

Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,创建一个虚拟的对象,以便测试的测试方法
解除测试对象对外部服务的依赖,使得测试用例可以独立运行
提升测试用例的运行速度
提升测试效率
EasyMock:早期比较流行的MocK测试框架
Mockito:
① 生成 Mock 对象
② 定义Mock 对象的行为和输出
③ 执行单元测试
④ 对 Mock 对象的行为和测试结果进行验证
PowerMock:解决static, final, private方法的mock问题和方法内部声明对象的mock问题
@RunWith(PowerMockRunner.class)
@PrepareForTest({MyObect.class})

3.2.打桩

桩,或称桩代码,是指用来代替关联代码或者未实现代码的代码。如果用函数B1来代替B,那么,B称为原函数,B1称为桩函数。打桩就是编写或生成桩代码
隔离:将测试任务从产品项目中分离出来,使之能够独立运行
补齐:用桩来代替未实现的代码
控制:在测试时,人为设定相关代码的行为,使之符合测试需求

3.3.断言

断言是用于判断单元测试执行过程中,是否满足特定的逻辑条件,如果不满足,测试就会“报错”。
assertEquals与assertNotEquals:比较实际的值和用户预期的值是否一样
assertTrue与assertFalse:判断某个条件是真还是假
assertNull与assertNotNull:验证所测试的对象是否为空或不为空
assertSame与assertNotSame:测试预期的值和实际的值是否为同一个参数

4.实例(未完待续)

普通public方法
Final 方法
Private 方法
Static 方法
方法内部声明新对象

相关文章

  • Java单元测试杂谈

    1.概念 单元测试概念参考百科吧,好的单元测试感觉像空气一样并不存在,但又不可或缺。单元测试遵守AIR原则(摘自《...

  • 单元测试-JUnit

    java单元测试是最小的功能单元测试代码, 单元测试就是针对单个java方法的测试。相比较于main方法进行测试,...

  • 单元测试-mockito+powermock

    单元测试--Java 使用mockito+powermock进行java单元测试 实例 如下一个正常业务代码,接下...

  • Android单元测试 - 如何开始?

    回顾: 《谈谈为什么写单元测试》 基本单元测试框架 Java单元测试框架:Junit、Mockito、Powerm...

  • Android单元测试

    本文主要内容 1、单元测试介绍 2、java单元测试 3、android单元测试 4、常用方法介绍 1、单元测试介...

  • 5.自动化测试工具

    单元测试工具 JUnit:Java单元测试 NUnit CppUnit:C++单元测试 性能测试工具 LoadRu...

  • Mockito使用介绍

    Mockito是用于写Java的单元测试框架,在单元测试中使用Mockito来创建和模拟(Mock)假的Java对...

  • Instrumentation

    1、Instrumentation单元测试框架,基于Junit;Junit是java单元测试根本 2、想要进行自动...

  • Jmokit

    # Junit+Jmokit单元测试 标签(空格分隔):java单元测试 --- > 原理:mock测试就是在测试...

  • 单元测试框架之unittest简介

    一、单元测试的含义 unittest单元测试框架的设计灵感来源于Junit(Java语言的单元测试框架),它与其他...

网友评论

      本文标题:Java单元测试杂谈

      本文链接:https://www.haomeiwen.com/subject/kfidoctx.html