当前位置:  开发笔记 > 编程语言 > 正文

一个好的单元测试有什么属性?

如何解决《一个好的单元测试有什么属性?》经验,为你挑选了1个好方法。

单元测试应该

产生确定性结果

独立

有效

...

测试还应该具备哪些其他特性?



1> Mendelt..:

啊.我最喜欢的科目:-)从哪里开始......

根据Gerard Meszaros的xUnit测试模式(关于单元测试的书)

测试应该降低风险,而不是引入风险.

测试应该很容易运行.

随着系统的发展,测试应该易于维护

有些事情可以让这更容易:

只有一个原因,测试才会失败.(测试应该只测试一件事,例如避免多个断言.)

由于这个原因,应该只有一个测试失败.(这可以保持您的测试库可维护)

最小化测试依赖性(不依赖于数据库,文件,ui等)

其他要注意的事项:

命名
具有描述性名称.测试名称应该与规范一样.如果你的名字太长,你可能会测试太多.

结构
使用AAA结构.这是模拟框架的新时尚,但我认为这是构建所有测试的好方法.

安排您的上下文
法案,做需要测试的事情
断言,断言您要检查的内容

我通常将测试划分为三个代码块.了解这种模式可以使测试更具可读性.

Mocks vs. Stubs
当使用模拟框架时,总是尝试使用存根和基于状态的测试,然后再进行模拟.

存根是代表您尝试测试的对象的依赖关系的对象.您可以将行为编程到它们中,并且可以在测试中调用它们.Mocks通过让你断言是否被调用以及如何调用来扩展它.模拟是非常强大的,但它允许您测试实现而不是代码的前后条件.这往往会使测试更加脆弱.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有