我有一个单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。