Javascript Jest-如果调用了多个函数,如何使用expect once断言

Javascript Jest-如果调用了多个函数,如何使用expect once断言,javascript,node.js,jestjs,Javascript,Node.js,Jestjs,我已经使用Jest一段时间了,我知道我能够使用倍数expect来测试每个函数,比如: expect(myFunction).toBeCalled() 因此,我想知道是否有一种方法可以使用单个eexpect方法测试多个函数。比如: const logoutModalProps = { dismissAllModals: mockFunction, logoutUserDeleteState: mockFunction, toggleDrawer: mockFunction, res

我已经使用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();
  });
});

您应该使用multiple expects,因为它会告诉您测试失败的确切位置,但是如果您有很多测试在其中循环函数并期望调用它们,我建议您编写一个帮助函数,该函数在您提供的数组中循环,并运行
toBeCalled()
或任何其他断言