zoukankan      html  css  js  c++  java
  • 如何做test review

    Test Review Guidelines给出了一些review unit test时的一些准则,我简单翻译一下。

    可读性:

    1. 确保setup和teardown方法没有被滥用。最好用factory method来提高可读性。
    2. 确保每个test只测试了一件事。
    3. 检查是否符合好的,一致的命名规范。
    4. 确保只有有意义的assert message才被用到,用有意义的test名称更好。
    5. 确保assert和action分开。
    6. 确保测试没有使用magic string/value作为输入,用可能的最简单的输入来验证。
    7. 确保测试放置的位置具有一致性,可以方便的找到一个方法,一个类,一个项目相关的测试。

    可维护性:

    1. 确保test之间没有依赖关系,并且是可以重复的。
    2. 确保测试private或者protected地测试是个例,测试public的总是更好。
    3. 确保测试没有过分详细。
    4. 确保总是优先考虑基于状态的测试,其次才是基于交互的测试。
    5. 确保尽量少使用精确的mock(否则会导致过分详细和脆弱的测试)。
    6. 确保每个测试中只是用了一个mock。
    7. 确保在同一个测试中没有混淆mock和正常的assert。
    8. 确保测试只验证一个mock的函数调用。(否则会导致过分详细和脆弱的测试)。
    9. 确保测试只验证一个mock的一个函数调用。(否则会导致过分详细和脆弱的测试)。
    10. 确保只有在非常少的情况下,一个mock被同时当作一个stub来使用,在验证的同时返回值。

    可信性:

    1. 确保测试不包含逻辑或者动态的数值。
    2. 通过改变数值(布尔或者常量)来检查测试覆盖率。
    3. 确保单元测试和集成测试分开。
    4. 确保测试没有使用一直在变化的值(比如系统当前时间),应该使用固定的值。
    5. 确定测试没有assert动态产生的期望值。(你可能只是在重复的你的production code,没有起到测试的作用)。
  • 相关阅读:
    ScrollView阻尼效果
    leetcode ----Trie/stack专题
    【LeetCode-面试算法经典-Java实现】【066-Plus One(加一)】
    老板问:多长时间搞定?开发说3天,測试说2天,然后……
    RxJava系列之中的一个 初识Rxjava
    【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
    win8 metro 自己写摄像头录像项目
    战五渣系列之八(绝杀AOP)
    UEFI与MBR区别
    Centos|Rhel搭建vsftp
  • 原文地址:https://www.cnblogs.com/fresky/p/2808079.html
Copyright © 2011-2022 走看看