Skip to content
joseph0926 edited this page Jun 4, 2023 · 1 revision
const render = (ui, { ...options } = {}) => {
	const Wrapper = ({ children }) => (
		<GoogleOAuthProvider clientId="379597382111-vo2ht0r8a3d0ais7v12q7777lu48al1a.apps.googleusercontent.com">
			<Provider store={store}>
				<BrowserRouter>{children}</BrowserRouter>
			</Provider>
		</GoogleOAuthProvider>
	);
	return rtlRender(ui, { wrapper: Wrapper, ...options });
};

jest.setup.js 파일에서 redux, google 로그인, react-router를 처리합니다 따라서 각 테스트 파일에서 해당 사항을 고려지 않으셔도 됩니다.
다만 이제 jest에서 render를 임포트하는 것이 아닌, jest.setup.js파일에 정의되어있는 render를 임포트 하셔야 됩니다

EX)

import React from "react";
import { render } from "../../jest.setup.js";
import "@testing-library/jest-dom";
import SignUpPage from "../../src/pages/SignUpPage";

test("renders SignUpPage without crashing", () => {
	render(<SignUpPage />);
});

또한 HTTP 통신을 위한 msw를 추가하였습니다

test/mocks/msw 폴더의 두 파일과 reduxTest 폴더의 파일을 참고해주시면 될 거 같습니다!

Clone this wiki locally