use*_*348 10 javascript mocking reactjs jestjs enzyme
我正在尝试在玩笑测试中模拟文件类型库。在我的 javascript 文件中,我按以下方式使用该库:
import * as fileType from 'file-type';
....
const uploadedFileType = fileType(intArray);
Run Code Online (Sandbox Code Playgroud)
然后,在我的玩笑测试中,我正在做:
jest.mock('file-type');
import * as fileType from 'file-type';
Run Code Online (Sandbox Code Playgroud)
然后尝试通过以下方式模拟响应:
fileType = jest.fn();
fileType.mockReturnValue({ ext: 'jpg' });
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误"fileType" is read-only.
有人知道我做错了什么吗?提前致谢。
如果您只需要在所有测试中使用相同的返回类型,您可以像这样模拟它
jest.mock('fileType', () => ({
ext: 'jpg'
}))
Run Code Online (Sandbox Code Playgroud)
这将模拟模块,因此fileType()
将始终返回{ext: 'jpg'}
.
如果您在测试期间需要不同的返回值,则需要模拟该模块,以便它返回一个间谍,您可以在测试中稍后使用以下命令设置模拟结果mockImplementation
:
import fileType from 'fileType'
jest.mock('fileType', () => jest.fn())
fileType.mockImplementation(() => ({
ext: 'jpg'
}))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27875 次 |
最近记录: |