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

如何写单元测试

作者: 海若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的对象可以通过创建子类的方式实现

    相关文章

      网友评论

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

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