玩笑
我已经使用Jest一段时间了,我知道我可以使用倍数expect
来测试每个功能,例如:
expect(myFunction).toBeCalled();
因此,我想知道是否有一种方法可以使用单个e expect
方法来测试多个功能。类似于:
const logoutModalProps = {
dismissAllModals: mockFunction,
logoutUserDeleteState: mockFunction,
toggleDrawer: mockFunction,
resetToScene: mockFunction,
popScene: mockFunction,
};
describe('when using handlers for logoutModal', () => {
it('should call handleLogout methods', () => {
handleLogout(logoutModalProps);
expect(...logoutModalProps).toBeCalled();
});
});
注:在这种情况下,函数handleLogout
调用所有这些方法。
有办法吗?如果是,请告诉我。如果没有,我应该使用多个期望还是有更好的方法?
感谢前进
回答如下:只需使用多个期望。如果这样做很麻烦,则可以循环执行。
it('should call handleLogout methods', () => {
handleLogout(logoutModalProps);
Object.values(logoutModalProps).forEach(mockFn => {
expect(mockFn).toBeCalled();
});
});
玩笑
我已经使用Jest一段时间了,我知道我可以使用倍数expect
来测试每个功能,例如:
expect(myFunction).toBeCalled();
因此,我想知道是否有一种方法可以使用单个e expect
方法来测试多个功能。类似于:
const logoutModalProps = {
dismissAllModals: mockFunction,
logoutUserDeleteState: mockFunction,
toggleDrawer: mockFunction,
resetToScene: mockFunction,
popScene: mockFunction,
};
describe('when using handlers for logoutModal', () => {
it('should call handleLogout methods', () => {
handleLogout(logoutModalProps);
expect(...logoutModalProps).toBeCalled();
});
});
注:在这种情况下,函数handleLogout
调用所有这些方法。
有办法吗?如果是,请告诉我。如果没有,我应该使用多个期望还是有更好的方法?
感谢前进
回答如下:只需使用多个期望。如果这样做很麻烦,则可以循环执行。
it('should call handleLogout methods', () => {
handleLogout(logoutModalProps);
Object.values(logoutModalProps).forEach(mockFn => {
expect(mockFn).toBeCalled();
});
});