如何在 Jest 中使用 globals 配置文件

阅读时长 3 分钟读完

Jest 是一个流行的 JavaScript 测试框架,它可以在 Node.js 中运行测试环境,也可以配置浏览器环境。在一些情况下,测试用例需要访问全局对象或函数,这时可以使用 Jest 的 globals 配置文件来设置全局变量。

什么是 Jest 的 globals 配置文件

在 Jest 的配置文件中,可以使用 globals 选项来指定一些全局变量。但在大型项目中,可能需要多次使用相同的全局变量,而每个测试文件都需要重复定义变量,这会导致代码冗余和可维护性下降。为了解决这个问题,可以使用 Jest 的 globals 配置文件,将全局变量统一定义在一个文件中。

如何配置 Jest 的 globals 配置文件

首先,在项目的根目录下,创建一个名为 globals.js 的文件。在这个文件中,可以导入需要使用的全局变量、函数或模块,并将它们暴露成一个对象,如下所示:

上述代码将 axios 模块、API 的基本 URL 和一个 sleep 辅助函数导入,并将它们暴露在全局对象中。可以随便定义全局变量的名字,但最好使用大写字母来表示它们是全局变量。

接着,在 Jest 配置文件中,加入以下代码,告诉 Jest 使用全局变量文件:

上述代码指定了三个全局变量的名字和值,其中 TEST_API_BASE_URLTEST_API_CLIENT 的值需要在代码中使用,而 TEST_UTIL 只是一个标记,用于表示这个变量是一个辅助函数,不需要传入任何值。在真正编写测试用例时,可以使用全局变量文件中定义的变量,也可以忽略 TEST_UTIL

如何在测试用例中使用全局变量

为了使用全局变量,需要在测试用例文件头部导入它们:

这些变量就可以在测试用例中使用了。例如:

这个测试用例发起了一个远程 API 请求,并断言返回的数据长度大于 0。

总结

使用 Jest 的 globals 配置文件,可以让测试用例中使用的全局变量集中管理,提高代码的可维护性和复用性。当需要在多个测试用例中使用相同的全局变量时,建议使用这个特性。

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

纠错
反馈