用Jest模拟Lerna作用域模块



我有一个单orepo设置与Lerna。这个项目是用tsc编译的,测试是用ts-jest v27运行的。

我要测试的一个文件有这样的代码:

import { someFunction } from '@local/package/dist/something'
const someLogic = () => {
someFunction()
}

@local/package是一个由Lerna符号链接的局部单orepo包。

我需要模仿someFunction

我尝试过的事情:


jest.mock('@local/package/dist/something')

无效,仍调用原文件


import * as something from '@local/package/dist/something'
jest.spyOn(something, 'someFunction')

0的效果。


import * as something from '@local/package/dist/something'
something.someFunction = jest
.fn()
.mockReturnValue(123)

导致TypeError: Cannot set property "someFunction" of #<Object> which has only a getter


jest.config.js:

{
moduleNameMapper: {
'(.*)something(.*)': '<rootDir>/src/somethingMock.js',
}
}

0的效果。


我尝试创建'mock/@local/package/dist/something.js'。我的测试包的json文件。
零效果


我累了,我需要帮助....我做错了什么?

这些是触发HTTP端点的端到端测试,我试图模拟的代码在一个单独的进程中运行lol。

相关内容

  • 没有找到相关文章

最新更新