2

我的 React-Component 看起来像这样(简化了很多):

const prepareStuff = (
  {/* some parameters */}
): void => {
    doOtherStuff(
      {/* some parameters */}
    );
};

const doOtherStuff = (
  {/* some parementers */}
): void => {
  calculate(file, context)
    .then((data) => {
      // ...
    })
    .catch((error: Error) => {
      console.error(error.message);
      // here my snackbar/taost notifications are triggered
    });
};

export const MyComponent = () => {
  useEffect(() => {
    prepareStuff(
      {/* needed parameters */}
    );
  });
}

我们想测试或模拟计算方法是否抛出错误。所以目标是在调用计算方法并在之后被捕获时引发错误。这是必需的,以便我可以测试我的错误通知(snackbars/toasts)是否显示在浏览器中。

我找不到监视或存根此方法的方法。我们目前正在使用赛普拉斯组件测试。这甚至可能吗?

目前的测试如下所示:

  beforeEach(() => {
    mount(
      <MyComponent />
    );
  });

  it('displays notification if calculate method throws an error.', () => {
    cy.get('.error-notification').should('exist');
  });
4

0 回答 0