-
Notifications
You must be signed in to change notification settings - Fork 2
Test
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 폴더의 파일을 참고해주시면 될 거 같습니다!