npm 包 @mzgoddard/jest-webpack 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

简介

@mzgoddard/jest-webpack 是一款基于 Jest 和 webpack 的测试工具。它能让你在测试环境下快速 import、require 模块,并且可以自动 mock 你的 webpack 配置。

在本篇文章中,我们将会介绍如何使用 @mzgoddard/jest-webpack 来为你的前端项目编写自动化测试用例。

安装

需要使用 npm 5 或以上版本,以及 Node.js 8.10 或以上版本。然后,可以通过如下命令行安装:

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

配置

Jest 配置

在使用 @mzgoddard/jest-webpack 之前,我们需要先配置 Jest。

在 package.json 中加入如下配置:

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

webpack 配置

为了让 @mzgoddard/jest-webpack 能够正常运行,还需要在 webpack 配置中加入如下代码:

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

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

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

这样,我们就将 node 的 built-in 模块和第三方依赖库排除在了外,只打包我们自己写的代码。

接着,我们需要修改 Jest 的 moduleNameMapper 配置:

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

这样做的目的是,当 Jest 遇到被 import 或 require 的模块路径中含有 src/ 的时候,会将其映射到项目源代码中的目录。

@mzgoddard/jest-webpack 配置

我们还需要在 Jest 的配置中加入如下代码:

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

其中,globalSetupglobalTeardown 分别对应全局的初始化和销毁脚本,比如在测试之前,首先需要启动 webpack 服务等等。而 preset 决定了我们使用的测试框架是否支持 Typescript。

小试牛刀

安装完毕并配置好后,我们可以来运行一个测试:

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

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

然后,在命令行中执行:

--- ----

此时,你应该能看到控制台输出 Flashing message: hello, world! 并通过测试。

总结

@mzgoddard/jest-webpack 这个工具可以为我们提供更加方便和快捷的开发体验。而掌握它的 usage 也成为了一种必备的技能。

在实际的生产环境中,我们要结合项目的具体情况去使用这个工具,也要时刻关注其各项配置参数变化,以保证测试的结果准确无误。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60055d1f81e8991b448dacf7


猜你喜欢

  • npm 包 section-title 使用教程

    在前端开发中,我们经常需要为文章、页面或列表添加标题。如果想要让标题看起来更美观优雅,就需要一款专业的工具来协助我们完成。这时,npm 包 section-title 就是一个非常不错的选择。

    2 年前
  • npm 包 wee-cluster 使用教程

    wee-cluster 是一个基于 Node.js 的可扩展的分布式计算框架。它为开发者提供了一种简单、高效、可维护的分布式计算方案。在本文中,我将详细介绍 wee-cluster 的使用方法,以及如...

    2 年前
  • npm 包 x-http-push-webpack-plugin 使用教程

    随着前端应用的不断发展和复杂度的加深,前端开发需要解决更多的问题。其中一个比较重要的问题就是前端资源的加载速度。在这个过程中,WebPack 是一个比较优秀的工具,也是一个较为成熟的工具,其强大的模块...

    2 年前
  • npm 包 xr-template-portal 使用教程

    介绍 xr-template-portal 是一个基于 Vue.js 的前端开发模板,以 Portal 为架构风格,结合 Element UI,提供了一整套的开发规范、工具样板及组件库。

    2 年前
  • 使用 powerdns_api npm 包的教程

    简介 PowerDNS API 是一个面向 DNS 服务器 PowerDNS 的 RESTful API。使用它,你可以管理你的 DNS 记录,例如添加、删除、修改等。

    2 年前
  • npm 包 apidoc-plugin-json-schema 使用教程

    在前端开发中,API 文档的编写非常重要。通过编写完善的 API 文档,可以大大提升团队协作效率,避免不必要的沟通成本。而 apidoc-plugin-json-schema 是一款非常实用的 npm...

    2 年前
  • npm 包 @carpages/gulp-grunt 使用教程

    前言 在前端开发过程中,Gulp 和 Grunt 是两个非常流行的自动化构建工具,它们能够帮助我们在开发过程中更加高效地处理文件、实时刷新浏览器等,提高开发效率。但是,我们经常需要在两个工具之间进行选...

    2 年前
  • npm 包 @carpages/typeahead.js 使用教程

    前言 在前端开发中,常常需要快速为搜索框添加自动补全的功能。而 @carpages/typeahead.js 就是一款优秀的自动补全插件,它支持多种数据源、异步请求和快捷键等多种功能。

    2 年前
  • npm 包 gist-config 使用教程

    什么是 gist-config gist-config 是一个 npm 包,它可以帮助开发者在应用程序中使用 gist 文件作为配置文件。gist 是 github 上的一项功能,它允许用户在 git...

    2 年前
  • npm 包 loripsum 使用教程

    loripsum 是一个常用的 npm 包,它能够随机生成指定长度的 lorem ipsum 文本,为前端开发提供便利。本文将介绍如何使用 loripsum 这个 npm 包,包括安装、使用、参数说明...

    2 年前
  • npm 包 ionic2-calendar-mfa 使用教程

    前言 随着前端技术的不断发展,越来越多的开发者开始使用npm管理自己的项目所需的依赖。在这篇文章中,我们将介绍如何使用npm包 "ionic2-calendar-mfa" 来创建一个漂亮、高效且易于使...

    2 年前
  • npm 包 request-content 使用教程

    前言 npm 是 Node.js 的包管理工具,可以帮助开发者管理项目依赖。request-content 是一个 Node.js 的 HTTP 请求库,用于处理 HTTP 请求,它支持发送 GET、...

    2 年前
  • npm 包 testingnpm1 使用教程

    testingnpm1 是一个用于测试前端项目的 npm 包。它提供了一系列的工具和 API,使得测试前端项目变得更加方便和高效。本文将为您详细介绍如何使用 testingnpm1 包来测试您的前端项...

    2 年前
  • npm 包 orm-mysql2 使用教程

    在前端开发过程中,我们经常需要与数据库进行交互,以存储和获取应用程序的数据。ORM(对象关系映射)是一种抽象数据库的方法,它可以将数据库的表映射到对象,并使用对象进行 CRUD 操作。

    2 年前
  • npm 包 node-red-contrib-sonoff-electrodragon-tasmota 使用教程

    前言 在前端开发中,我们经常会涉及到与硬件交互的需求。近年来,物联网技术的发展使得硬件设备的智能化成为了可能。node-red-contrib-sonoff-electrodragon-tasmota...

    2 年前
  • npm包passport-oauth2-password-grant-additional-params的使用教程

    OAuth2.0是一种互联网上常见的授权框架,它提供了一种授权机制,通过OAuth2.0,用户可以授权第三方应用程序访问他们的资源,而不需要将它们的凭据直接提供给这些应用程序。

    2 年前
  • npm 包 @carpages/jquery-hammerjs 使用教程

    一、前言 今天我们来介绍一款非常优秀的 npm 包 @carpages/jquery-hammerjs,它是 Hammer.js 与 jQuery 的结合体,可以让我们在使用 Hammer.js 的基...

    2 年前
  • npm 包 cordova-plugin-allow-scheme 使用教程

    在前端开发中,有时需要在移动端应用中调用浏览器内的一些网页进行功能扩展,这时候就需要使用 Cordova 这样的技术了。然而,由于安全原因,移动端不允许加载任意不同 host 的网页,因此需要使用 c...

    2 年前
  • npm 包 red-contrib-sonoff-electrodragon-tasmota 使用教程

    npm 包 red-contrib-sonoff-electrodragon-tasmota 使用教程 在现代前端开发中,使用 npm 包管理器已成为一个必备工具。

    2 年前
  • npm 包 cordova-printer-multilangprint 使用教程

    什么是 cordova-printer-multilangprint? cordova-printer-multilangprint 是一个 Cordova 插件,用于在移动端应用程序中实现多语言打印...

    2 年前

相关推荐

    暂无文章