使用 Ember-maybe-import-regenerator-for-testing npm 包的技巧与指导

阅读时长 4 分钟读完

在前端开发过程中,我们常常需要测试我们的代码。但是,测试代码也有它的限制。比如,我们在使用 generator 函数的时候,测试代码可能会因为不支持 generator 函数而失败。这时候,我们就需要使用 ember-maybe-import-regenerator-for-testing 这个 npm 包来解决这个问题。

本篇文章将为大家介绍如何使用这个 npm 包来解决测试 generator 函数的问题。

什么是 Generator 函数?

Generator 函数是 ECMAScript 6 中的一种新的函数类型,它的特点是可以暂停执行,并且可以在内部通过 yield 暂停执行并返回结果。Generator 函数在前端开发中有非常广泛的应用,比如,异步编程和批处理等等。

下面是一个简单的 Generator 函数示例:

为什么测试代码不支持 Generator 函数?

在测试代码中经常使用的 QUnitEmber-qunitMochaChaiJasmine 等测试框架,它们默认不支持 Generator 函数。如果我们使用 Async function 来编写我们的测试代码,那么会发现 QUnitEmber-qunit 会认为你的代码是异步的,而 MochaChaiJasmine 会抛出异常 SyntaxError

所以,当我们需要在测试代码中使用 Generator 函数的时候,我们需要使用 ember-maybe-import-regenerator-for-testing 这个 npm 包来解决这个问题。

如何使用 ember-maybe-import-regenerator-for-testing?

首先,我们需要安装 npm 包:

然后,在测试文件的开头,引用 ember-maybe-import-regenerator-for-testing

这样,我们就完成了对于 Generator 函数的支持。

接下来,我们可以编写我们的测试代码了。下面是一个使用 Generator 函数的测试代码示例:

-- -------------------- ---- -------
------ - ------- ---- - ---- --------

--------- ------------- -
  ----- --
  ----- --
  ----- --
-

--------------------- --------------- -
  ---------- ------------- ---------------- -
    ----- --- - --------------
    ------------------------------ -- ------ ---- ------ -- ----
    ------------------------------ -- ------- ---- ------ -- ----
    ------------------------------ -- ------ ---- ------ -- ----
  ---
---

运行测试代码的时候,我们会发现测试通过了。

总结

使用 ember-maybe-import-regenerator-for-testing 这个 npm 包,可以让我们在测试代码中使用 Generator 函数,从而解决在测试代码中不支持 Generator 函数的问题。同时,这也提醒我们,当我们碰到测试中的问题的时候,我们要善于找到一些工具或者解决方案,来解决这些问题。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/59725

纠错
反馈