【发布时间】:2021-04-14 07:50:27
【问题描述】:
我目前在测试我的 createAsyncThunk 函数时遇到了一些问题。
基本上功能是:
const myFunc = createAsyncThunk('returns ID', async (nameAndEmail) => {
const response = await axios.post('/backendroute', nameAndEmail);
return response.data.id;
};
所以这个函数会将姓名和电子邮件发送到返回ID的后端。
我目前的测试是:
test('returns ID when myFunc is called', async () => {
const nameAndEmail = {
name: 'John Smith',
email: '123@123.com'
};
const mockThunk = store.dispatch(myFunc(nameAndEmail));
expect(mockThunk).toHaveBeenCalledWith(nameAndEmail);
});
问题是当我测试这个时,收到的值是:
Matcher error: received value must be a mock or spy function
{"abort": [Function abort], "arg": {"email": "123@123.com", "name": "John Smith"}, "requestId": "123456789"}
谁能告诉我我做错了什么?
【问题讨论】:
标签: javascript redux axios jestjs redux-toolkit