繁体   English   中英

如何开玩笑地模拟命名导入?

[英]how to mock a named import in jest?

我曾经有这样的设置:

export class MyClass {
}
export default new MyClass()

然后我会做: import myclass from 'libraries/myclass'

现在我将其更改为:

export const myclass = new MyClass()

并像这样import { myclass } from 'libraries/myclass'这似乎在我的代码中工作

但是我所有的笑话测试都失败了

我目前正在做:

jest.mock('libraries/myclass', () => ({
    myclassfunction: jest.fn(),
}))

我尝试更改为:

jest.mock('./myclass.js', () => (
  {
    ...(jest.requireActual('./myclass.js')),
    myclassfunc: () => {}
  }
))

但它仍然失败,当我console.log(myclass)它通过未定义

您可以在测试中使用 jest automock 功能,是否需要使用工厂来模拟它?

import { myclass } from 'libraries/myclass';
jest.mock('libraries/myclass'); 

// myclass is now a mock

暂无
暂无

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

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