browserify - 如何在 Jest 中测试使用 browserify-shim global 的文件?

标签 browserify jestjs browserify-shim

我正在通过脚本标签下载谷歌地图 API v3,并使用以下(相关)package.json 配置将依赖项添加到我的模块中:

"browserify-shim": {
   "google": "global:google"
}

我可以使用以下内容在我的文件中添加依赖项:
var google = require('google');

当我在浏览器中运行我的代码时,它工作正常。
问题是,当我用 Jest 运行测试时,它告诉我找不到“google”模块:
Error: /src/app/assets/javascripts/__tests__/helpers-test.js: Cannot find module 'google' from '/src/app/assets/javascripts/__tests__'

注:

我正在测试的文件中需要这种依赖关系,而不是测试本身。我觉得这很令人困惑,因为我认为 Jest 会模拟所有依赖项,除非另有说明,但据我所见,它首先需要在模拟之前正确满足依赖项。

关于我缺少什么或应该采取什么方法的任何想法?

最佳答案

您需要在 package.json 中正确地为“google”起别名,请参阅 here .

关于browserify - 如何在 Jest 中测试使用 browserify-shim global 的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29778617/

相关文章:

javascript - Gulp 观看多个文件夹

reactjs - Jest : TypeError: Cannot read property of undefined

javascript - 如何模拟返回 base 64 字符串的函数

jquery - Browserify-shim 无法解决依赖关系

gulp - 有没有办法在没有 package.json 的情况下使用 browserify-shim?

javascript - browserify/webpack 破解简单的 HTML 文件(函数未定义)

javascript - 如何在运行 Mocha 测试之前应用 jadeify 变换?

javascript - JS,浏览器化 : function not defined

javascript - 在 enzyme 中模拟 history.back()

node.js - 当 node_modules 文件夹是符号链接(symbolic link)时 browserify-shim 错误