Query 사용 우선 순위

screen.getByTestId()

현재까지는 getByTestId() 쿼리를 이용하여 엘리먼트에 접근 후 테스트 진행. 이외로도 testing library에서 추천하는 쿼리 사용 우선 순위가 있으니 확인해본다.

userEvent > fireEvent

버튼 클릭 이벤트 테스트 코드에서 사용했던 fireEvent API보다 userEvent API를 사용하는 것이 더 좋은 방법이다. fireEvent.click(element) < userEvent.click(element)

function click(element, init, { skipHover = false, clickCount = 0 } = {}) {
	if (!skipHover) hover(element, init);
	switch (element.tagName) {
		case 'LABEL':
			clickLabel(element, init, { clickCount });
			break;
		case 'INPUT':
			if (element.type === 'checkbox' || element.type === 'radio') {
				clickBooleanElement(element, init, { clickCount });
			} else {
				clickElement(element, init, { clickCount });
			}
			break;
		default:
			clickEvent(element, init, { clickCount });
	}
}