在前端开发中,测试是必不可少的一部分。大多数测试都是同步的,但是一些测试需要异步操作,比如 API 调用或者 Promise。Chai-as-promised 是一个能够在异步测试过程中使用 Chai 断言库的插件。
安装 Chai-as-promised
首先,需要安装 Chai-as-promised:
--- ------- ---------------- ----------
然后,需要将 Chai-as-promised 加入到测试文件中:
----- ---- - ---------------- ----- -------------- - ---------------------------- -------------------------
使用 Chai-as-promised
接下来,就可以使用 Chai-as-promised 来测试异步操作了。Chai-as-promised 提供了许多有用的方法,比如 eventually
和 rejectedWith
。
eventually
eventually
方法可以用来测试 Promise 是否能够成功地解析。例如:
---------- ---------- ------ - ------- -- -- - ----- ------- - ------------------------- ------ --------------------------------------------- ---
上面的代码使用 eventually
和 equal
断言来测试 Promise 是否能够成功地解析,并与期望的值相等。
rejectedWith
rejectedWith
方法可以用来测试 Promise 是否会被拒绝并返回特定的错误。例如:
---------- -- -------- ---- -- ------- -- -- - ----- ------- - ------------------ ------------ ----------- ------ ----------------------------------------- ---------- ---
上面的代码使用 rejectedWith
方法来测试 Promise 是否会被拒绝并返回特定的错误。
其他使用方法
除了上述方法之外,Chai-as-promised 还提供了一些其他有用的方法。例如,notify
可以用来测试事件是否已经被触发:
---------- ------ -- ------- -- -- - ----- ------- - --- ----------------- ------- -- - ------------------- ----- --- ----- ------------ - --- --------------- ----- ---------------- - --------------- -- - --------------------------- ------ -------- --- ------------- -- - --------------------------- -- ---- ------ ----------------------------------------------------------- --------- ---
上面的代码将在 Promise 解析后触发事件,然后使用 notify
断言来测试事件是否已经被触发。
总结
使用 Chai-as-promised 可以方便地在异步测试过程中使用 Chai 断言库。除了上述的 eventually
和 rejectedWith
方法之外,还有很多有用的方法可以使用。在编写测试时,使用 Chai-as-promised 可以大大简化测试异步操作的代码。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64f1a20af6b2d6eab3b74ae9