此刻,我正在这样做以拉回表的所有行:
const { getByTestId } = renderWithRouter(businessWithContext);
const firstTableRow = await waitForElement(() => getByTestId("row-1-name"));
const secondTableRow = await waitForElement(() => getByTestId("row-2-name"));
expect(firstTableRow.textContent).toBe("test1");
expect(secondTableRow.textContent).toBe("test2");
我宁愿做这样的事情:
const rows = await waitForElement(() => getAllByText(/^row-*/gi));
但是我得到这个错误:
找不到带有以下文本的元素:/ ^ row-* / gi。这可能是因为文本被多个元素分解了。在这种情况下,您可以为文本匹配器提供一个功能,以使匹配器更加灵活。
答案 0 :(得分:0)
您正在使用getAllByText
,但您确实想按data-testid
进行查询。这将起作用:
getAllByTestId(/^row-*/)