我正在模擬一個自定義鉤子,雖然我可以開玩笑地在我的測驗檔案頂部使用靜態資料來做到這一點,但我希望能夠在每個測驗基礎上做到這一點。例如,在每個測驗中,我希望能夠回傳不同的模擬資料。我將如何進行重組,以允許在每個測驗中回傳不同的資料。
const mocked_StartCapture= jest.fn()
jest.mock('@myModules/screen-hook', () => ({
...(jest.requireActual('@myModules/screen-hook') as any),
useScreenHook: () => ({
startCapture: () => mocked_StartCapture,
viewableData: () => ({
height: 1500,
width: 1600,
image:
'00w0KGgoAAAANSUhEUgAAAGQiVBORAAABkBAMAAACCzIhnAAAAG1BMVEWJiob',
}),
}),
}))
test('renders Component', async () => {
/// Update mock to use different startCapture and viewableData functions.
const result = render(<Screen/>)
expect(result).toBeDefined()
})
uj5u.com熱心網友回復:
你可以這樣嘗試:
cosnt mockViewableData = jest.fn.mockReturnValue({
height: 1500,
width: 1600,
image: '00w0KGgoAAAANSUhEUgAAAGQiVBORAAABkBAMAAACCzIhnAAAAG1BMVEWJiob',
}));
const mockStartCapture = jest.fn();
jest.mock('@myModules/screen-hook', () => ({
...(jest.requireActual('@myModules/screen-hook') as any),
useScreenHook: () => ({
startCapture: () => mockStartCapture(),
viewableData: () => mockViewableData(),
}),
}));
然后在測驗中:
test('renders Component', async () => {
/// Update mock to use different startCapture and viewableData functions.
mockStartCapture.mockReturnValue({ whatever: "you need" });
mockViewableData.mockReturnValue({ height: 42, width: 42, image: 'something' });
const result = render(<Screen/>)
expect(result).toBeDefined()
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/525306.html
標籤:反应开玩笑的
