|
1 |
| -# Next.js サンプルアプリケーション |
| 1 | +# Next.js 예제 애플리케이션 |
2 | 2 |
|
3 |
| -これは「フロントエンド開発のためのテスト入門」の第7章〜第10章で解説する、サンプルアプリケーションです。CRUD 機能を備えた Web アプリケーションをテスト対象に、実践的なフロントエンドテストについて解説します。 |
| 3 | +이 저장소는 '프런트엔드 개발자를 위한 테스트 입문'의 7장부터 10장까지의 내용이 담긴 저장소입니다. CRUD기능을 가진 웹 애플리케이션을 대상으로 실무적인 테스트 방법을 설명합니다. |
4 | 4 |
|
5 |
| -- 第7章 Web アプリケーション結合テスト |
6 |
| -- 第8章 UI コンポーネントエクスプローラー |
7 |
| -- 第9章 ビジュアルリグレッションテスト |
8 |
| -- 第10章 E2E テスト |
9 |
| -- 付録 A GitHub Actions で実行する UI コンポーネントテスト |
10 |
| -- 付録 B GitHub Actions で実行する E2E テスト |
| 5 | +- 7장 웹 애플리케이션 통합 테스트 |
| 6 | +- 8장 UI 컴포넌트 탐색기 |
| 7 | +- 9장 시각적 회귀 테스트 |
| 8 | +- 10장 E2E 테스트 |
| 9 | +- 부록 A GitHub Actions에서 실행하는 UI 컴포넌트 테스트 |
| 10 | +- 부록 B GitHub Actions에서 실행하는 E2E 테스트 |
11 | 11 |
|
12 |
| -フロントエンドフレームワーク(Next.js)特有のトピックは、なるべく7章に限定し、他フロントエンドフレームワークを使用する読者の方にも応用できる内容を検討しました。付録 A・B で解説している GitHub Actions のサンプルコードも含まれます。 |
| 12 | +프런트엔드 프레임워크(Next.js)의 고유기능은 되도록 7장에서만 제한적으로 다룹니다. 최대한 다른 프레임워크를 사용하는 독자분들도 응용할 수 있도록 내용을 검토했습니다. 부록 A, B에서 설명하는 GitHub Actions 관련 예제 코드도 포함되어 있습니다. |
13 | 13 |
|
14 |
| -## 第7章 Web アプリケーション結合テスト |
| 14 | +## 7장 웹 애플리케이션 통합 테스트 |
15 | 15 |
|
16 |
| -Next.js や React 特有の結合テストについて解説します。React の Context API や Next.js Router を織り交ぜた結合テストが中心となっており、後半には MSW も登場します。 |
| 16 | +Next.js나 리액트의 고유기능에 대한 통합 테스트를 다룹니다. 리액트의 Context API나 Next.js Router와 연계된 통합 테스트를 중점적으로 설명합니다. 후반부에는 MSW도 등장합니다. |
17 | 17 |
|
18 |
| -【サンプルコード】`src/components/**/*.test.tsx` |
| 18 | +【예제 코드】`src/components/**/*.test.tsx` |
19 | 19 |
|
20 | 20 | ```
|
21 | 21 | $ npm test
|
22 | 22 | ```
|
23 | 23 |
|
24 |
| -## 第8章 UI コンポーネントエクスプローラー |
| 24 | +## 8장 UI 컴포넌트 탐색기 |
25 | 25 |
|
26 |
| -Storybook をテストツールとして使用する方法について解説します。a11y アドオン等を使用したデバッグ手法から、Test runner を使用したブラウザテストを紹介します。 |
| 26 | +스토리북을 테스트 도구로 사용하는 방법을 다룹니다. a11y 애드온을 활용한 디버깅이나 테스트 러너를 활용한 브라우저 테스트를 소개합니다. |
27 | 27 |
|
28 |
| -【サンプルコード】`src/components/**/*.stories.tsx` |
| 28 | +【예제 코드】`src/components/**/*.stories.tsx` |
29 | 29 |
|
30 | 30 | ```
|
31 | 31 | $ npm run storybook:build
|
32 | 32 | $ npm run storybook:ci
|
33 | 33 | ```
|
34 | 34 |
|
35 |
| -## 第9章 ビジュアルリグレッションテスト |
| 35 | +## 9장 시각적 회귀 테스트(Visual Regression Test) |
36 | 36 |
|
37 |
| -reg-suit を使用した VRT の実践方法について解説します。このリポジトリにも VRT はありますが、本編はより簡素にした以下サンプルリポジトリで別途解説します。 |
| 37 | +reg-suit을 사용한 실무적인 VRT 사용법을 다룹니다. 이 저장소에도 VRT가 있지만 주된 내용은 보다 간결하게 작성한 아래의 저장소에서 설명합니다. |
38 | 38 |
|
39 |
| -【サンプルコード】https://github.com/frontend-testing-book/vrt |
| 39 | +【예제 코드】https://github.com/frontend-testing-book/vrt |
40 | 40 |
|
41 |
| -## 第10章 E2E テスト |
| 41 | +## 10장 E2E 테스트 |
42 | 42 |
|
43 |
| -Playwright を使用した、E2E テストを解説します。DB/Redis/S3 が連携して提供される機能を中心に、E2E テスト観点を解説。 Playwright, Next.js, Prisma の詳細については解説しきれない(主旨から外れる)ため、 理解するうえで必要最低限の解説にとどめます。 |
| 43 | +Playwright를 사용한 E2E 테스트를 다룹니다. DB/Redis/S3와 연계된 기능을 대상으로 E2E 테스트 작성법을 설명합니다. 테스트 작성법을 다룬다는 취지상 Playwright, Next.js, Prisma의 사용법은 자세히 다루지 않습니다. 최소한의 이해를 돕는 정도로만 설명합니다. |
44 | 44 |
|
45 |
| -【サンプルコード】`e2e/**.spec.ts` |
| 45 | +【예제 코드】`e2e/**.spec.ts` |
46 | 46 |
|
47 | 47 | ```
|
48 | 48 | $ npm run docker:e2e:build
|
49 | 49 | $ npm run docker:e2e:ci
|
50 | 50 | ```
|
51 | 51 |
|
52 |
| -## 付録 A GitHub Actions で実行する UI コンポーネントテスト |
| 52 | +## 부록 A Github Actions에서 실행하는 UI 컴포넌트 테스트 |
53 | 53 |
|
54 |
| -ここまで解説した自動テストを GitHub Actions で実行する方法を解説します。ワークフロー解説のほか、Actions パネルの見方について取り上げます。 |
| 54 | +지금까지 소개한 테스트 자동화 방법을 GitHub Actions에서 실행합니다. 워크플로와 액션의 사용법을 다룹니다. |
55 | 55 |
|
56 |
| -【サンプルコード】`.github/workflows/*.yaml` |
| 56 | +【예제 코드】`.github/workflows/*.yaml` |
57 | 57 |
|
58 |
| -## 付録 B GitHub Actions で実行する E2E テスト |
| 58 | +## 부록 B GitHub Actions에서 실행하는 E2E 테스트 |
59 | 59 |
|
60 |
| -GitHub Actions テスト向けの Docker ファイルの書き方、docker-compose ファイルの書き方について解説します。 |
| 60 | +GitHub Actions에서 테스트하기 위한 도커 및 도커 컴포즈 파일의 작성법을 다룹니다. |
61 | 61 |
|
62 |
| -【サンプルコード】`Dockerfile.*, doceker-compose.*.yaml` |
| 62 | +【예제 코드】`Dockerfile.*, doceker-compose.*.yaml` |
63 | 63 |
|
64 | 64 | # Installation
|
65 | 65 |
|
66 |
| -Node.js がインストールされている開発環境で、依存モジュールをインストールします。 |
| 66 | +Node.js가 설치되어 있는 개발환경에 필요한 모듈을 설치합니다. |
67 | 67 |
|
68 | 68 | ```bash
|
69 | 69 | $ npm i
|
70 | 70 | ```
|
71 | 71 |
|
72 | 72 | ## Create MinIO Bucket with MinIO Client
|
73 | 73 |
|
74 |
| -開発環境では S3 には接続せず、ローカル環境で利用できる S3 互換の MinIO を使用します。 |
75 |
| -MinIO Client がインストールされていない場合、はじめにインストールをします。 |
| 74 | +개발환경에서는 S3에 직접 접속하지 않고, S3와 호환이 가능하면서 로컬환경에서 사용할 수 있는 MinIO를 사용합니다. |
| 75 | +MinIO Client가 설치되어 있지 않다면 테스트를 실행하기 전에 먼저 설치합시다. |
76 | 76 |
|
77 | 77 | ```bash
|
78 | 78 | $ brew install minio/stable/mc
|
79 | 79 | ```
|
80 | 80 |
|
81 |
| -開発環境の MinIO にバケットを作成します。Docker Compose で MinIO サーバーを起動後、バケット生成スクリプトを実行します。 |
| 81 | +개발환경에 있는 MinIO에 버킷을 작성합니다. 도커 컴포즈로 MinIO 서버를 실행한 뒤 버킷 생성 스크립트를 실행합니다. |
82 | 82 |
|
83 | 83 | ```bash
|
84 | 84 | $ docker compose up -d
|
85 | 85 | $ sh create-image-bucket.sh
|
86 | 86 | ```
|
87 | 87 |
|
88 |
| -## DB マイグレーションの実行 |
| 88 | +## DB 마이그레이션 실행하기 |
89 | 89 |
|
90 | 90 | ```bash
|
91 | 91 | $ docker compose up -d
|
92 | 92 | $ npm run prisma:migrate
|
93 | 93 | ```
|
94 | 94 |
|
95 |
| -## 開発サーバーの起動 |
| 95 | +## 개발서버 실행하기 |
96 | 96 |
|
97 | 97 | ```bash
|
98 | 98 | $ docker compose up -d
|
99 | 99 | $ npm run dev
|
100 | 100 | ```
|
101 | 101 |
|
102 |
| -## UI コンポーネントテストのローカル実行 |
| 102 | +## UI 컴포넌트 테스트를 로컬에서 실행하기 |
103 | 103 |
|
104 | 104 | ```bash
|
105 | 105 | $ npm run storybook:build && npm run storybook:ci
|
106 | 106 | ```
|
107 | 107 |
|
108 |
| -## E2E テストのローカル実行 |
| 108 | +## E2E 테스트를 로컬에서 실행하기 |
109 | 109 |
|
110 | 110 | ```bash
|
111 | 111 | $ npm run docker:e2e:build && npm run docker:e2e:ci
|
|
0 commit comments