zoukankan      html  css  js  c++  java
  • 5个单元测试容易放的错误

          单元测试对于每个项目都是需要的,它不仅仅是帮助找出代码中缺陷,更重要是在你修改与增加新模块时能确保原来的模块没有被破坏。

    th

    下面是5个单元测试容易放的错误:
    1. 与协作模块一起去测试算法。算法逻辑如果能从协作的代码中分离出来,应该
    是最简单的测试。否则,你得必须通过作业队列之前完成测试。作业队列中只有一部分复杂的逻辑。除非你正在测试是作业队列本身,并分别测试逻辑。无论代码和测试都需要变得容易编写与管理。

    2. 太多Mocking. 我们知道通过我们会使用Mocking来隔离依赖,使得它们独立。换句话说,就是使你的代码模块化。当你Mock了整个世界,已没有什么迫使你分得开的部分。那你最终得到的代码是不能孤立地创造任何东西---全部纠结在一起了。

    3. 没有使用asserts断言。有时我看到一些测试只是创建了对像,调用了方法。可能完成是一个验证创建或调用循环。但是,没有使用任何的asserts检查。检查代码是否是期待的行为。的确,代码可运行,如果有抛出异常,也没有任何东西可以验证。

    4. 使用print打印语句。 我看到一些是从手工测试遗留下来的习惯。你看看它的价值再决定正确与否。但是,所有的检查应该使用断言进行。如果断言失败,你会看到它,因为测试失败。如果测试通过,没有什么应该被打印出来。有时候,开发测试时,它可以用print语句非常有用。但在这种情况下,添加一个标志,并关闭测试中打印,来检查这个标志。

    5.检查log语句,不是结果。值得庆幸的这是不常见的,但我还是看到了,否则很能干的开发者做到这一点。无论结果是多么重要,没有打印在log中,可能在代码有错误,并且测试仍然通过。

    最后3个错误容易避免,前2个需要花些时间,但代码最终漂亮的隔离开了。

    希望对您软件开发有帮助。

    您可能感兴趣的文章:

    使用Moles框架实现HttpWebRequest与HttpWebResponse的单元测试

    数据访问层的单元测试

    软件项目避免开发儿童玩具


    作者:Petter Liu
    出处:http://www.cnblogs.com/wintersun/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    该文章也同时发布在我的独立博客中-Petter Liu Blog

  • 相关阅读:
    ELF静态链接
    linux
    百度图表插件
    秀米(图文编辑)
    Html 助手
    在型原型工具
    AnalyticDB
    H5 (webApi) 接口帮助文档
    H5 拖拽读取文件和文件夹
    mongodb int字段的一个小坑
  • 原文地址:https://www.cnblogs.com/wintersun/p/3573674.html
Copyright © 2011-2022 走看看