什么是 chai-as-promised-transpiled
chai-as-promised-transpiled 是一个 npm 包,它结合了 Chai 断言库和 Bluebird Promise 库,使得对 Promise 的测试更加方便。它在 chai-as-promised 的基础上,加入了 Babel 转译器,从而支持 ES6 的测试语法。
安装
在终端中,使用以下命令安装 chai-as-promised-transpiled:
npm install chai-as-promised-transpiled --save-dev
安装后,在测试文件中,使用以下代码导入:
import chai from 'chai'; import chaiAsPromised from 'chai-as-promised-transpiled'; chai.use(chaiAsPromised);
使用
chai-as-promised-transpiled 支持以下语法:
resolved
resolved
是一个断言,它用于判断一个 Promise 是否被成功解决。比如:
expect(promise).to.be.resolved;
如果 promise 被成功解决,则该断言返回 true。如果 promise 被拒绝,或者 promise 没有被解决,则该断言返回 false。
rejected
rejected
是一个断言,它用于判断一个 Promise 是否被拒绝。比如:
expect(promise).to.be.rejected;
如果 promise 被拒绝,则该断言返回 true。如果 promise 被成功解决,或者 promise 没有被解决,则该断言返回 false。
fulfilled
fulfilled
是一个断言,它用于判断一个 Promise 是否被成功解决,并且返回的值和预期值相等。比如:
expect(promise).to.eventually.equal(expectedValue);
如果 promise 被成功解决,并且返回的值和预期值相等,则该断言返回 true。如果 promise 被拒绝,或者 promise 被成功解决但返回值和预期值不相等,则该断言返回 false。
rejectedWith
rejectedWith
是一个断言,它用于判断一个 Promise 是否被拒绝,并且拒绝的原因和预期值相等。比如:
expect(promise).to.eventually.be.rejectedWith(expectedReason);
如果 promise 被拒绝,并且拒绝的原因和预期值相等,则该断言返回 true。如果 promise 被成功解决,或者 promise 被拒绝但拒绝原因和预期值不相等,则该断言返回 false。
示例代码
以下是一个使用 chai-as-promised-transpiled 的示例测试代码:
-- -------------------- ---- ------- ------ - ------ - ---- ------- ------ -------------- ---- ------------------------------ ------------------------- ----------------- ------ -- -- - ----- ------- - --------------------------- ---------- -- ---------- -- -- - ------ ------------------------------- --- ---------- -- --------- ---- -------- ------- -- -- - ------ ----------------------------------------------- --- ---
总结
通过使用 chai-as-promised-transpiled,我们可以更方便地对 Promise 进行测试,而且还支持 ES6 的测试语法。使用该工具需要注意的是,在测试文件中需要导入该工具并进行配置。同时,我们还介绍了该工具支持的几种断言语法,并给出了示例代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d3a81e8991b448dafff