我正在努力将一堆单元测试从 mock 迁移到 Jest 。当我开 Jest 一个需要新遗物代理的模块时,如下所示:require('newrelic')
,我收到如下下游错误:
- TypeError: Cannot convert undefined or null to object
at Object.<anonymous> (node_modules/newrelic/lib/config.js:165:33)
at Runtime._execModule (node_modules/jest-cli/src/Runtime/Runtime.js:261:17)
at Object.<anonymous> (node_modules/newrelic/lib/logger.js:18:14)
at Object.<anonymous> (node_modules/newrelic/index.js:3:14)
处理像 newrelic
这样的 Jest 很难 mock 的模块的最佳方法是什么?当其他人同时拥有 jest 和 newrelic 时,他们做了什么?
最佳答案
我最终采取的路线是在我的 __mocks__
文件夹中为 newrelic 创建一个模拟模块:
module.exports = {
addCustomParameter: jest.fn()
};
稍后我可能需要添加更多功能,但现在这已经足够了。我仍然想知道是否有一种方法可以让 Jest 自动模拟 newrelic 库而不出错。
关于node.js - 如何使用 jest 正确测试需要 newrelic 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557331/