• 如何做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,没有起到测试的作用)。
  • 相关阅读:
    System.currentTimeMillis();
    java中synchronized使用方法
    距离矢量路由协议举例——RIP
    Bulk Insert命令具体
    美国地名大全(美国城市名称英文、中文)
    面试准备系列01----面试中的链表题目汇总
    Introspector(内省)简单演示样例 与 简单应用
    Android APK反编译具体解释(附图)
    MATLAB新手教程
    Nginx+Tomcat7+Mencached负载均衡集群部署笔记
  • 原文地址:https://www.cnblogs.com/fresky/p/2808079.html
Copyright © 2020-2023  润新知