美文网首页
如何写单元测试

如何写单元测试

作者: 海若Hero | 来源:发表于2020-10-26 10:55 被阅读0次

什么是单元测试

单元测试(unit
testing),是指对软件中的最小可测试单元进行检查和验证,单元是人为规定的最小的被测功能模块,在java中指的是一个类,凡是涉及其他类的使用都使用mock或指定固定的返回。

单元测试的作用

测试代码逻辑,快速回测,优化代码,大大减少后期维护

如何写测试类

  1. 首先看代码逻辑是否正确,如果不正确需要修改逻辑,然后再写测试类

  2. 找到方法的所有分支结构,找到可以覆盖方法所有逻辑的组合,每个组合写一个测试方法

  3. 方法需要的外部逻辑调用都采用mock测试,mock对应的结果,方法调用完成,验证方法的调用次数和结果断言

概念

  1. mock就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的方法。

  2. 断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。对于我们来说就是,方法调用返回的结果应该是多少。

运行

覆盖率的方式运行测试类,查看测试类对应的类的覆盖率,如果未覆盖的分支需要补充测试类,覆盖率至少达到90%算合格

注意事项

  1. mock返回的时候,如果是返回实体,需要使实体的所有属性的值互不相同,这样能更容易测试出问题

  2. 修改代码要同时修改测试类,如果不及时修改,后面会很难改,修改的时候不要为了测试能跑通而修改,这样修改没有意义

  3. 为了避免同一个类之间的数据相互影响,尽量少使用成员变量,如果使用成员变量,那赋值要在@BeforeEach(junit5)注释的方法里做,这样的方法在每个方法执行之前都会执行,就不会影响下一个方法的测试

  4. 单元测试尽量用真实的数据测试,这样更容易发现问题

  5. 单元测试需要注释清晰,不要把所有的逻辑都在一个方法里测试,否则,很难维护

  6. 使用org.mockito包mock对象时,对象必须有无参构造,不能mock的对象可以通过创建子类的方式实现

相关文章

  • 上手unittest读这篇文章就够了

    引言 本文主要介绍了如下内容 单元测试的定义; python中如何写基础的unittest单元测试; 详解unit...

  • 单元测试

    本文将介绍以下内容: iOS开发中添加单元测试的方法。 如何写单元测试用例及用例组。 介绍单元测试的一些基础概念。...

  • React单元测试策略及落地

    单元测试是现代软件开发最基本,也普遍落地不力的实践。市面关于React单元测试的文章,普遍停留在“可以如何写”和介...

  • lumen 单元测试

    如果你无法量化它,就无法改进它。 经过讨论,大家均认为单元测试是有帮助的,接下来就是如何写的问题了。 单元测试的意...

  • iOS单元测试

    前言 不写单元测试的程序员是不合格的,为了让自己成为一名合格的程序员,学习如何写单元测试是很有必要的,这里以Xco...

  • 如何写好单元测试

    本文主要阐述单元测试(UT)的重要性,以及解释一些常见的困惑,以帮助我们写出质量更高的 UT。至于类似 Mocha...

  • 如何写单元测试

    什么是单元测试 单元测试(unittesting),是指对软件中的最小可测试单元进行检查和验证,单元是人为规定的最...

  • 如何写单元测试

    二话不说,先上结论王道: 测试代码的优雅和产品代码的优雅,两者一般不可得兼,舍测试代码的优雅而取产品代码的优雅,方...

  • 深入浅出Android单元测试(三)详解Mockito

    对Android有依赖的单元测试如何写?怎样脱离真机与模拟器?本文将会对Java测试框架mockito做详细介绍。...

  • LocalStack: 本机 Mock AWS 服务利器

    如果代码中需要与 AWS 服务(比如 S3)交互, 如何写单元测试? 0x00 mock API 既然是调用 AW...

网友评论

      本文标题:如何写单元测试

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