开玩笑的嘲笑exports.name无法正常工作

时间:2019-07-09 23:38:59

标签: mocking jestjs

我有以下js代码

exports.setupUserAccounts = (config) => {
  //Implementation
};

这位于“共享/用户”文件夹中。现在,在测试文件中,我尝试使用笑话来模拟此方法(我没有使用DI)

我正在为此编写以下代码

jest.mock('shared/user')

现在,当我运行代码时,出现以下错误 setupUserAccounts 不是方法

我也尝试以下

  jest.mock('shared/user', () => ({
            setupUserAccounts: jest.fn()
        }));

现在,当我运行测试时,该函数完全没有被模拟。补充一下,我的源代码是TypeScript代码,我正在运行ts-jest。

1 个答案:

答案 0 :(得分:0)

这是单元测试的工作示例:

Entry

calculateIndex

index.ts

const { setupUserAccounts } = require('./shared/user');

export function main() {
  return setupUserAccounts();
}

shared/user/index.ts

exports.setupUserAccounts = config => {
  console.log('setupUserAccounts');
};

覆盖率100%的单元测试结果:

index.spec.ts

源代码:https://github.com/mrdulin/jest-codelab/tree/master/src/stackoverflow/56961691

相关问题