gpt4 book ai didi

reactjs - 等待多个元素被删除React测试库

转载 作者:行者123 更新时间:2023-12-03 08:16:17 36 4
gpt4 key购买 nike

我有一个 React 应用程序,我在其中使用 jest 和 React 测试库进行单元测试。我有一个单元测试,我想测试 SomeComponent 在加载时不会呈现任何骨架。SomeComponent 在数据尚未加载时渲染骨架。问题是渲染了多个骨架,而 waitForElementToBeRemoved 仅需要一个 HTMLElement。

所以我想知道是否有办法waitForMultipleElementsToBeRemoved

test("SomeComponent when loaded doesn't render any skeleton", async () => {
render(
<SomeComponent />,
)

const skeletons = screen.getAllByTestId("skeleton");
await waitForElementToBeRemoved(skeletons);

expect(
screen.queryByTestId("skeleton")
).not.toBeInTheDocument();
});

注意:

当只有一个骨架时,此测试按预期进行。

最佳答案

您可以:

await waitForElementToBeRemoved(() => screen.getAllByTestId("initLoader"));

或者根据您的情况:

await waitForElementToBeRemoved(() => skeletons);

我认为您只是错过了回调。否则你的代码就没有问题!

关于reactjs - 等待多个元素被删除React测试库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69272560/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com