селектор в реагирующей-тестирующей библиотеке, который может получить несколько совпадений с помощью getAllByText - PullRequest
0 голосов
/ 21 июня 2019

В данный момент я делаю это, чтобы откатить все строки таблицы:

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. Это может быть потому, что текст разбит на несколько элементов. В этом случае вы можете предоставить функцию сопоставления текста, чтобы сделать сопоставление более гибким.

1 Ответ

0 голосов
/ 21 июня 2019

Вы используете getAllByText, но вы действительно хотите запросить по data-testid.Это будет работать:

getAllByTestId(/^row-*/)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...