最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

玩笑

IT培训 admin 2浏览 0评论

玩笑

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

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论