我正在通过脚本标签下载谷歌地图 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/