开玩笑嘲笑参考错误

2024-02-21

我正在尝试使用以下模拟:

const mockLogger = jest.fn();

jest.mock("./myLoggerFactory", () => (type) => mockLogger);

但是mockLogger会抛出引用错误。

我知道笑话试图保护我免于超出模拟范围,但我需要参考jest.fn()所以我可以断言它被正确调用。

我只是嘲笑这一点,因为我正在对图书馆进行由外而内的验收测试。否则,我会将对记录器的引用作为参数贯穿始终,而不是进行模拟。

我怎样才能实现这个目标?


问题是jest.mock在运行时被提升到文件的开头,所以const mockLogger = jest.fn();之后运行。

为了让它工作,你必须首先模拟,然后导入模块并设置间谍的真正实现:

//mock the module with the spy
jest.mock("./myLoggerFactory", jest.fn());
// import the mocked module
import logger from "./myLoggerFactory"

const mockLogger = jest.fn();
//that the real implementation of the mocked module
logger.mockImplementation(() => (type) => mockLogger)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开玩笑嘲笑参考错误 的相关文章

随机推荐

  • 在 null 上调用成员函数 helper()

    我正在尝试找出 codeigniter 但目前无法插入到我的数据库中 我一直在关注官方文档 成功从数据库中读取数据 我的错误完整 遇到未捕获的异常类型 错误 消息 在 null 上调用成员函数 helper 文件名 Library WebS
  • Android 录音

    我想知道如何使用 android 中的 AudioRecord 功能而不是 MediaRecorder 来录制我们的声音和播放 请给我示例代码或网址 提前致谢 我认为您可以从使用以下原型代码开始 import android media A
  • 难以理解 Android 应用程序中的复杂多线程

    我在理解应用程序中的多线程方面遇到了很大的问题 因此发现了一个错误 我已经检查过我认为所有的可能性 但仍然遇到各种 有时是意外的 错误 也许这里有人可以建议我 我应该做什么 在我的项目中 我使用两个外部库 图形视图 https github
  • 重定向到不同的控制器

    我在 IAuthorizationFilter 中有一些代码 它将用户重定向到登录页面 但我在更改所使用的控制器时遇到了问题 所以我可能会这样做 public void OnAuthorization AuthorizationContex
  • Redux 状态正在更新,无需分派任何操作

    我首先应该说这不是重复的这个问题 恰好有相同的标题 https stackoverflow com questions 48648736 redux state is being edited without dispatching any
  • 正则表达式: boost::xpressive 与 boost::regex

    我想用 C 做一些正则表达式 所以我查看了 interwebz 是的 我是 C 的初学者 中级 并发现这个答案 https stackoverflow com questions 181624 c what regex library sh
  • Angular SSR NgApexcharts SVG 未定义

    最初我在使用 Angular SSR 时遇到了这个包的问题 因为我在导入时遇到了这个错误Window is not defined 但是 你可以在server ts通过以下方式 const MockBrowser require mock
  • Python 重定向(有延迟)

    所以我在 Flask 上运行了这个 python 页面 它工作得很好 直到我想要重定向 app route last visit def check last watered templateData template text water
  • JVM 压缩 Oops 背后的技巧

    So I understand the compressed oops is enabled by default in HotSpot VM now It has support for this from Java SE 6u23 on
  • 具有右锚定静态面板的可变高度 FlowLayoutPanel

    Take a good look at this 我有一个顶部面板它停靠在Top我的形式 AutoSize True AutoSizeMode GrowOnly 在里面我有一个流程布局面板停靠到Fill AutoSize True Auto
  • 如何删除 UITabBarItem SelectionImage 填充?

    我通过 UITabBar 外观将 SelectionIndicatorImage 设置为可拉伸图像 以适应各种设备宽度 UIImage selectedImage UIImage imageNamed SelectedTab stretch
  • Netbeans 模块中的 JAXB

    当我尝试在 netbeans 模块中运行 JAXB 编组器时 它们似乎是一个问题 最初我以为这是节点实现 所以我花了几天时间重新组织一切 但我仍然收到奇怪的错误消息 javax xml bind JAXBException ClassCas
  • 替换for循环Python中的字符串元素

    我正在从文本文件中读取数据 因此每一行都是一个字符串列表 所有这些列表都在数据列表中 所以我的列表看起来像 data row1 row2 etc row1 str1 str2 etc 我正在尝试删除行列表中的字符串中出现的任何 或 符号 我
  • LZW解压算法

    我正在为必须实现 LZW 压缩 解压缩的作业编写一个程序 我为此使用以下算法 压缩 w NIL while read a character k if wk exists in the dictionary w wk else add wk
  • 如何将按钮字体设置为 Marlett

    我正在尝试将按钮的字体设置为系统的 Marlett 字体 然而 虽然我手动设置了font face 但使用了其他字体 此外 当我使用字体对话框为该按钮选择字体时 Marlett 未列出 为什么会这样呢 如何在 NET Windows 窗体控
  • 第一个列表滚动在聚合物中结束后,铁滚动阈值永远不会执行

    我已经使用以下方法完成了iron list and iron scroll threshold为了在聚合物中实现无限滚动 但问题是 loadMoreDatairon scroll threshold在聚合物中第一个列表滚动结束后永远不会执行
  • Symfony 使用哪个单元测试框架?

    Symfony 使用哪个单元测试框架 Lime 还是 PHPUnit 使用它们有什么优点和缺点 在我看来 以下是我想到的一些事情 PHPUnit is more integrated with other tools like for in
  • MonoFoldable 有什么损失吗?

    单折叠 https hackage haskell org package mono traversable 1 0 0 1 docs Data MonoTraversable html t MonoFoldable in the 单通行
  • Laravel 5 MethodNotAllowedHttpException PUT

    我正在尝试更新用户 但是当我点击提交按钮时 Laravel 抛出以下错误 RouteCollection gt methodNotAllowed array GET HEAD POST 在 RouteCollection php 第 206
  • 开玩笑嘲笑参考错误

    我正在尝试使用以下模拟 const mockLogger jest fn jest mock myLoggerFactory gt type gt mockLogger 但是mockLogger会抛出引用错误 我知道笑话试图保护我免于超出模