自动化测试

Test Doubles 理解

自动化测试中,我们常会使用一些经过简化的,行为与表现类似于生产环境下的对象的复制品。
引入这样的复制品能够降低构建测试用例的复杂度,允许我们独立而解耦地测试某个模块,不再担心受到系统中其他部分的影响;
这类型对象也就是所谓的 Test Double。

Fakes

  • Fake 是那些包含了生产环境下具体实现的简化版本的对象。

Stubs

  • Stub 代指那些包含了预定义好的数据并且在测试时返回给调用者的对象。
  • Stub 常被用于我们不希望返回真实数据或者造成其他副作用的场景。

command query separation

query 只是查询,无副作用,不改变状态 : Stubs
command 操作的同时会改变状态 : Mocks

Mocks

参考文章
https://segmentfault.com/a/1190000009443132 > http://xunitpatterns.com/Test%20Double.html > https://martinfowler.com/articles/mocksArentStubs.html

测试

  • 减少不必要的测试细节
  • 关注用户想要什么,就尽可能去测试什么
Author: liuarui
Link: https://liuarui.github.io/2020/03/20/单元测试/自动化测试/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.