javascript - 使用 Jest 模拟更复杂的依赖项 [即基于索引文件的嵌套依赖项]
问题描述
我已经阅读了关于用 Jest 模拟的其他问题,但我似乎并没有真正掌握它,尤其是对于更复杂的“替换”。
问题还在于我的依赖不仅仅是一个“导入'X'”,而是一个更复杂的嵌套事物。
const DefaultErrorHandler = require('common').utility.errorHandler.getNoConnectionHandler();
class ErrorHandler extends DefaultErrorHandler { ...
困扰我的是 DefaultErrorHandler,所以我想用我更易于管理的 MockDefaultErrorHandler 替换它。
但是我该怎么做呢?没有文档或其他问题似乎适合我的情况(和/或我遗漏了一些重要的观点)
解决方案
它与常规模拟没有太大区别 在测试代码中'put: const NoConnectionHandler = require('common/lib/utility/error/handler/NoConnectionHandler');
jest.mock('common-bon/lib/utils/error/handler/NoConnectionHandler');
请注意,此路径与我从 require... 行直观地“创建”的路径略有不同。拯救我的是,在“通用”文件中,函数“getNoConnectionHandler()”本身以 require(...) 结尾,而那个 require 的路径就是我需要的路径。
推荐阅读
- java - 用 java8 替换 foreach
- mysql - 如果node.js中mysql查询中的参数太多怎么办
- javascript - 如何防止某人通过控制台创建 Firebase 帐户?
- docker - 使用 Jenkins 在 SonarScanner 中读取超时
- r - Power Bi 自定义 R 视觉 (PBIVIZ)
- xpath - 如何通过importxml xpath查询获取子节点?
- jenkins - 通过 URL 从项目的多个构建中访问工件
- jquery - 当我的页面顶部出现一个弹出窗口时,然后使用滚动键,页面滚动,但不是弹出窗口
- javascript - is it possible to gather several image layers into one canvas?
- sql-server - 如何动态重命名excel文件名?