Not wrapped in act
경고는 왜 나는 건가요?React 입장에서 components에 어떤 일이 일어날 것이라 예상했는데, 그 어떤 일이 발생하지 않고 테스트 코드가 종료될 경우
Not wrapped in act
발생
리액트에서 나오는 act
경고는
act
라는 함수로 감싸 주어야한다.act(() => {
/* fire events that update state */
});
react-testing-library
내부에 API에 act
를 이미 내포하고 있어서 일부로 act
로 감싸서 호출하지 않고 렌더링과 업데이트를 할 수 있는데act
로 감싸주어야 한다.Not wrapped in act
경고 해결 방법waitFor()
를 사용해서 해결 할 수 있다spinbutton
버튼이 있다?!await waitFor(() => {
screen.getByRole('button', { name: 'spinbutton' });
});
waitForElementToBeRemoved()
으로도 해결할 수 있다