【发布时间】:2018-11-17 16:15:03
【问题描述】:
我希望能够测试这个Swal() 函数是否被调用。
它被模拟了,但我不熟悉 Jest 模拟库。
这是在我的测试设置文件中:
jest.mock('sweetalert2', () => {
return {
Swal: () => {},
};
});
所以我只想让它返回一个函数。
在我的组件中,Swal 是这样调用的:
doSomething = () => {
Swal({
title: 'Could not log in',
text: error.message,
type: 'error',
});
};
我认为我的 mock 需要返回一个命名方法,所以我可以 spyOn 并检查它是否被调用。
我的测试:
import Swal from 'sweetalert2';
describe('Login Container', () => {
it('calls Swal', () => {
doSomething();
var swalSpy = jest.spyOn(Swal, 'Swal');
expect(swalSpy).toHaveBeenCalled();
});
});
错误:
expect(jest.fn()).tohavebeencalled();
当测试失败时我应该如何设置我的模拟和间谍
【问题讨论】:
标签: javascript reactjs mocking jestjs enzyme