什么是 sinon
Sinon 是一个用于写测试和模拟代码的 JavaScript 库,本质上是一个 spy(函数)、stub(函数)和 mock(对象)库,它还支持 Sinon Fake Timers。Sinon 可以在 Node.js 和浏览器的任何 JavaScript 环境中使用。
安装
可以使用 npm 安装:
--- ------- ----- ----------
如何使用 sinon
Spy(函数)
创建 Spy
通过调用 sinon.spy() 方法可以创建一个 spy 函数:
----- ---------- - -- -- ------------------ --------- ----- ----- - ----------------------
Spy 的调用
通过以下方法可以看到 spy 函数的调用信息:
---------------- -- - --------------- ---- ----- -- ---- ------ ------- ---------------- -- -
Spy 的返回值
通过以下方法可以指定 spy 函数的返回值:
----- ---------- - -- -- ------ -------- ----- ----- - ---------------------- --------------------- --------- --------------------- -- -------- -------
Stub(函数)
创建 Stub
通过调用 sinon.stub() 方法可以创建一个 stub 函数:
----- ---------- - -- -- ------------------ --------- ----- ------ - ------------------ ---------
Stub 的调用
调用 stub 函数就像调用原本的函数一样,但实际上不会对界面产生影响:
------------- --------- --------------------------------- ------------------------------- ---------------------
Stub 的返回值
指定 stub 函数返回值的方法与 spy 函数类似:
----- ------ - ------------------ ---------- --------------------- --------- ---------------------- -- ------ -------
Mock(对象)
创建 Mock
通过调用 sinon.mock() 方法可以创建一个 mock 对象:
----- ----- - - ------------- -- - ----- ------ - ------------------
Mock 对象的期望
可以对 mock 对象设置期望,当期望和实际情况不符时,mock 对象会抛出异常:
------------------------------------------------------- -------------------- -- ------ ----- ------- -- --- --- ------ ---- -------
Mock 对象的恢复
Sinon 可以恢复用于测试,以确保不同测试之间没有任何副作用:
-----------------
总结
Sinon 库提供了一些非常强大的工具来帮助我们编写 JavaScript 测试代码。在本文中,我们介绍了如何使用 sinion 来创建 spies、stubs 和 mock,并且学习了如何检查它们的调用和返回值,以及如何为它们设置期望和恢复测试环境。希望本文对你有所帮助!
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/81535