JavaScript 测试是前端开发中必不可少的一个环节。而 Jasmine 是一个广为流传的测试库,它能够帮助开发者进行 TDD 和 BDD 等测试方式。但是,有时候我们写的测试不一定符合规范,这时候就需要使用一个工具来帮助我们进行"宽容测试",这个工具就是 forgiven-jasmine。
forgiven-jasmine 不仅是一个针对 Jasmine 的扩展工具,它还提供了很多有用的功能,使得你可以更加方便地编写和维护测试代码。
安装
首先,你需要安装 forgiven-jasmine,使用 npm 安装即可:
--- ------- ---------------- ----------
然后,你需要将它添加到你的测试文件中:
----- --------------- - ----------------------------
API
forgiven-jasmine 增加了许多可以让测试更简单和更自由的 API, 这里介绍一些最常用的 API。
确定测试是否通过
after the expectation.
expect(pass).toBe(true)
编写固定规则下的宽容测试
有时候测试无法精确匹配預期,但我们应该能够容忍这些小差错。在这种情况下,forgiven-jasmine 提供了一些宽容测试 API。
expectAsync
expectAsync 允许你在完成回调之前放松测试。这个 API 接收一个 Promise,类似于 Jasmine 内置的 expect(result).toBeDefined() API,不同的是它能够在 Promise 的 resolve 方法延迟调用结束前保持等待。这个 API 支持 not
运算符以及 Matchers 的链式标记。使用它来写出来"宽容测试",例如:
---------- ------ ------ -------- -------- ------ -- - ----- ---- - ---- -- -- ---- ----- ----- ---------- - ------------ -- ----------------------------------------------- ----------------------------------- ---
toPass
toPass 是 forgiven-jasmine 中最重要的一个 API。它允许你传递一个自定义的测试函数,并在该函数内部自行处理测试结果的验证。例如,这是一个将异步代码转化为 Promise 的测试:
---------- ---- --- ----- ------ ----------- ------------ -- --- ----------------- -- - ------------- -- - -------------------------- ---------- -- ----- -----
总结
forgiven-jasmine 只是 Jasmine 的扩展工具,并不是一个新的测试工具。它为开发人员提供了更多的备选 API,以便适应不同的测试场景和编程风格。无论你是 TDD 还是 BDD,forgiven-jasmine 都能够让你的测试更加高效,而不会给你带来任何额外的负担。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005569b81e8991b448d3665