outside a "-6ren"> outside a "-我这里有一个单元测试,我正在执行一个点击事件。我收到错误: Invariant failed: You should not use outside a describe("when the me-6ren">
gpt4 book ai didi

reactjs - 运行单元测试时出错 "You should not use outside a "

转载 作者:行者123 更新时间:2023-12-05 01:30:48 24 4
gpt4 key购买 nike

我这里有一个单元测试,我正在执行一个点击事件。我收到错误:
Invariant failed: You should not use <Link> outside a <Router>

describe("when the menu icon has been clicked", () => {
test("the account menu should be displayed", () => {
const { getByTestId } = render(<AccountMenu userDetails={fakeUser}></AccountMenu>);
const button = getByTestId("button-icon-element");
fireEvent.click(button);
screen.debug();
});
});

我很确定我知道为什么会哭,但想知道是否有一种简单的方法可以在单元测试时解决这个问题。我使用的单元测试框架是 @testing-libary/react .

最佳答案

您需要将任何正在测试的元素包装在 BrowserRouter 中。

const { getByTestId } = render(<BrowserRouter><AccountMenu userDetails={fakeUser}></AccountMenu></BrowserRouter>);

然后就可以点击了。

关于reactjs - 运行单元测试时出错 "You should not use <Link> outside a <Router>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66789264/

24 4 0