web-dev-qa-db-ja.com

react-testing-libraryでアンカーのhrefをテストする方法

アンカータグをテストしようとしています。クリックしたら、window.location.hrefが期待どおりかどうかを確認します。

アンカーをレンダリングしてクリックし、window.location.hrefをテストしてみました。

test('should navigate to ... when link is clicked', () => {
  const { getByText } = render(<a href="https://test.com">Click Me</a>);

  const link = getByText('Click Me');

  fireEvent.click(link);

  expect(window.location.href).toBe("https://www.test.com/");
});

テストに合格することを期待していますが、代わりにwindow.location.hrefは"http://localhost/"であり、何らかの理由で更新されないことを意味します。私は期待をawait waitでラップすることも試みましたが、それもうまくいきませんでした。 react-testing-libraryを使用したアンカーのテストに関する情報があまりありません。たぶん、私がやっていることよりももっと良い方法があるかもしれません。 ???? ‍♂️

4
jaypee

代わりにこれを使用するだけです。

expect(getByText("Click Me").href).toBe("https://www.test.com/")
0