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

5个单元测试容易放的错误

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

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

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

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

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

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

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

您可能感兴趣的文章:

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

数据访问层的单元测试

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

Petter Liu Blog。

相关文章:

  • 2021-11-24
  • 2021-08-08
  • 2021-10-15
  • 2021-07-20
  • 2022-12-23
  • 2021-11-11
  • 2022-12-23
  • 2021-10-20
猜你喜欢
  • 2022-02-15
  • 2021-07-10
  • 2022-12-23
  • 2021-08-17
  • 2021-08-30
  • 2021-07-07
  • 2021-09-06
相关资源
相似解决方案