简体   繁体   English

用Jest模拟模块变量

Mock module variable with Jest

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文简体   中文繁体   英文版本 版本,有任何建议请联系yoyou2525@163.com。

I've been using Jest to mock some variables, which are used in tested functions, like so: 我一直在使用Jest来模拟一些变量,这些变量用在经过测试的函数中,如下所示:

global.SERVER_URL = 'test';
await hydrateApp();
expect(ReactDOM.hydrate).toBeCalled();

Here, the newly set value of SERVER_URL is used by hydrateApp() . 在这里, SERVER_URL的新设置值由hydrateApp() However, I cannot do this with module . 但是,我不能使用module来做到这一点。 When I try to set module.hot , it will still be undefined, when the function is called: 当我尝试设置module.hot时,在调用该函数时它将仍然是未定义的:

global.module.hot = {
  accept: jest.fn()
};
await hydrateApp();
expect(global.module.hot.accept).toBeCalled();

In this case, module.hot is undefined inside hydrateApp() . 在这种情况下, module.hothydrateApp()未定义。

How can I set variable on the module object to be used by a function being tested? 如何在要测试的函数使用的模块对象上设置变量?

问题暂未有回复.您可以查看右边的相关问题.
1 如何使用 jest 和 typscript 模拟模块变量 - How to mock a module variable with jest and typscript

我有一个地图定义了一些这样的转换函数 后来在同一个模块中,我有一个句柄函数,它根据我提供的一些 seq 调用这些函数。 当单元测试处理。 我只关心一些函数是按照我提供的顺序调用的。 我不想运行函数实现。 无论如何,是否可以开玩笑地用这样的东西来模拟transformFuncMap 。 ...

3 Mocking 一个带有 Jest 的 NodeJS 模块 - Mocking a NodeJS module with Jest

我花了一整天的时间寻找这个。 我有以下代码。 在我的测试中,我想模拟CarModel或CarService 。 要么对我有用。 我模拟这些的原因是用内存数据库替换真实数据库。 但我找不到任何可行的解决方案。 如果你们中的任何人有任何想法,那么我将不胜感激。 ###编辑### 汽车服务.js ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM