アンカータグをテストしようとしています。クリックしたら、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
を使用したアンカーのテストに関する情報があまりありません。たぶん、私がやっていることよりももっと良い方法があるかもしれません。 ???? ♂️
代わりにこれを使用するだけです。
expect(getByText("Click Me").href).toBe("https://www.test.com/")