Fra*_*ker 3 javascript reactjs jestjs redux enzyme
我正在编写一个测试,测试我的应用程序中的操作。我在尝试拨打最后一个电话时遇到了麻烦。
const pushData = jest.fn(() => Promise.resolve());
test('anotherAsyncCall is fired to get more info', () => {
const store = mockStore({});
asynCallToGetData = jest.fn(() => Promise.resolve());
const action = pushData();
const dispatch = jest.fn();
const anotherAsyncCall = jest.fn(() => Promise.resolve());
const expectedActions = [{
type: 'DATA_RECEIVED_SUCCESS'
}];
return store.dispatch(action).then(() => {
expect(asynCallToGetData).toHaveBeenCalled();
expect(store.getActions()).toMatch(expectedActions[0].type);
expect(dispatch(anotherAsyncCall)).toHaveBeenCalled(); //This fails
});
});
Run Code Online (Sandbox Code Playgroud)
但运行测试后我收到的消息是
expect(jest.fn())[.not].toHaveBeenCalled()
jest.fn() value must be a mock function or spy.
Received: undefined here
Run Code Online (Sandbox Code Playgroud)
您应该使用jest.spyOn(object, methodName)创建 Jest 模拟函数。例如:
const video = require('./video');
test('plays video', () => {
const spy = jest.spyOn(video, 'play');
const isPlaying = video.play();
expect(spy).toHaveBeenCalled();
expect(isPlaying).toBe(true);
spy.mockReset();
spy.mockRestore();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14042 次 |
| 最近记录: |