如何模拟数据对象?
How to mock object of data?
我在 Expo 中使用 React Native,在快照测试中使用 Jest,在查询中使用 Redux Toolkit。我想创建快照,但总是收到错误 TypeError
。我认为问题出在我的模拟中,我不知道如何模拟整个数据对象。示例如下:
jest.mock('../../services', () => ({
useGetOfficeDataQuery: jest.fn().mockReturnValue('Biuro księgowe')
}));
it('renders correctly', () => {
const snap = renderer.create(<ContactScreen />).toJSON();
expect(snap).toMatchSnapshot();
});
但是在这个模拟中,我需要像下面这样模拟整个对象:
{
"id": "xxxxxxxxxxxxxxxxxxxxxxxx",
"name": "Xxxxxxxxxxxx",
"nip": "xxxxxxxxxx",
"phone": null,
"city": "xxxxx",
"zip_code": "xx-xxx",
"street": "xxxxxxxxxxxxxxxxx",
"house_number": "xxxxxxx",
"room_number": "xx",
"email": "xxxxxxxxx",
"email_correspondence": "xxxxxxxxxxxxxxx"
}
好吧,我想出来了,为了模拟一个对象,我需要将其包装在 { }
中并将其写成 json,代码示例如下:
jest.mock('../../services', () => ({
useGetOfficeDataQuery: jest.fn().mockReturnValue({
id: "xxxxxxxxxxxxxxxxxxxxx",
name: "xxxxxxxxxx",
}),
}));
我在 Expo 中使用 React Native,在快照测试中使用 Jest,在查询中使用 Redux Toolkit。我想创建快照,但总是收到错误 TypeError
。我认为问题出在我的模拟中,我不知道如何模拟整个数据对象。示例如下:
jest.mock('../../services', () => ({
useGetOfficeDataQuery: jest.fn().mockReturnValue('Biuro księgowe')
}));
it('renders correctly', () => {
const snap = renderer.create(<ContactScreen />).toJSON();
expect(snap).toMatchSnapshot();
});
但是在这个模拟中,我需要像下面这样模拟整个对象:
{
"id": "xxxxxxxxxxxxxxxxxxxxxxxx",
"name": "Xxxxxxxxxxxx",
"nip": "xxxxxxxxxx",
"phone": null,
"city": "xxxxx",
"zip_code": "xx-xxx",
"street": "xxxxxxxxxxxxxxxxx",
"house_number": "xxxxxxx",
"room_number": "xx",
"email": "xxxxxxxxx",
"email_correspondence": "xxxxxxxxxxxxxxx"
}
好吧,我想出来了,为了模拟一个对象,我需要将其包装在 { }
中并将其写成 json,代码示例如下:
jest.mock('../../services', () => ({
useGetOfficeDataQuery: jest.fn().mockReturnValue({
id: "xxxxxxxxxxxxxxxxxxxxx",
name: "xxxxxxxxxx",
}),
}));