Можно ли поддерживать один и тот же render () в нескольких тестах при использовании библиотеки тестирования Jest и React? Я создаю приложение Trivia и имею один компонент, который отображает различные вопросы по мере прохождения пользователем викторины. Чтобы проверить функциональность кнопок выбора, кнопки отправки и проверки того, что нужные экраны отображаются в нужное время, мне нужно выполнить тесты на одном и том же визуализированном компоненте на разных этапах викторины. Например:
describe("Question Screen", () => {
it("should render the first question when difficulty button is clicked", async () => {
render(<TriviaBox/>);
const btn = screen.getByRole("button", {name: /easy/i});
fireEvent.click(btn);
const heading = await screen.findByText("Question 1");
expect(heading).toBeInTheDocument();
});
it("should display the next question when the current question is answered", async () => {
render(<TriviaBox/>);
const btn = screen.getByRole("button", {name: /easy/i});
fireEvent.click(btn);
const correctAnswer = await screen.findByRole("button", {name: /Nevada/i});
const submit = await screen.findByRole("button", {name: /Submit/i});
fireEvent.click(correctAnswer);
fireEvent.click(submit);
expect(wait screen.findByText("Question 2")).toBeInTheDocument();
expect(wait screen.findByText("Which is the largest state?")).toBeInTheDocument();
expect(wait screen.findAllByRole("radio")).toHaveLength(4);
...
});
});
Есть ли способ сохранить тот же рендер из первого теста для использования во втором тесте, вместо повторного рендеринга того же компонента и повторного прохождения первого вопроса в Чтобы проверить второй вопрос?