Playwright E2E 테스트 환경 구성 및 테스터 계정 생성
- Playwright + Chromium 브라우저 테스트 환경 세팅 - 테스터 계정 4개 생성 (admin/local/shop/user, pw: test1234!) - seed SQL + Node.js 시더 스크립트 포함 - E2E 테스트 23개 작성 (전체 통과): - auth: 로그인/로그아웃/실패/회원가입 (9개) - admin: 지자체관리자/Super Admin 패널 접근 (10개) - public: 홈/로그인/회원가입/404 (4개) - CLAUDE.md: 테스트 섹션을 Playwright 기반으로 업데이트 - jobs.md: 테스트 작업 완료 기록 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
48
CLAUDE.md
48
CLAUDE.md
@@ -73,31 +73,49 @@ assets/ # 기획 문서 (엑셀)
|
||||
php spark serve --port=8045
|
||||
```
|
||||
|
||||
## 테스트
|
||||
## 테스트 (Playwright E2E)
|
||||
|
||||
모든 작업 완료 후 반드시 테스트를 수행합니다.
|
||||
모든 작업 완료 후 반드시 Playwright 브라우저 테스트를 수행합니다.
|
||||
|
||||
```bash
|
||||
# 전체 테스트
|
||||
vendor/bin/phpunit
|
||||
npm test
|
||||
|
||||
# 특정 테스트 스위트
|
||||
vendor/bin/phpunit --testsuite App
|
||||
# headed 모드 (브라우저 표시)
|
||||
npm run test:headed
|
||||
|
||||
# 특정 테스트 파일
|
||||
vendor/bin/phpunit tests/unit/SomeTest.php
|
||||
# 특정 파일만
|
||||
npx playwright test e2e/auth.spec.js
|
||||
|
||||
# 필터로 특정 메서드만
|
||||
vendor/bin/phpunit --filter testMethodName
|
||||
# 특정 테스트만
|
||||
npx playwright test -g "로그인 페이지"
|
||||
```
|
||||
|
||||
### 테스트 구조
|
||||
```
|
||||
e2e/
|
||||
├── helpers/
|
||||
│ ├── auth.js # 로그인/로그아웃 헬퍼, 테스터 계정 정보
|
||||
│ └── db-seed.js # 테스터 계정 DB 시딩 스크립트
|
||||
├── auth.spec.js # 인증 테스트 (로그인/로그아웃/회원가입)
|
||||
├── admin.spec.js # 관리자 패널 테스트 (지자체관리자/Super Admin)
|
||||
└── public.spec.js # 공개 페이지 테스트
|
||||
```
|
||||
|
||||
### 테스터 계정 (비밀번호: `test1234!`)
|
||||
| ID | 역할 | Level |
|
||||
|----|------|-------|
|
||||
| `tester_admin` | Super Admin | 4 |
|
||||
| `tester_local` | 지자체관리자 (대구) | 3 |
|
||||
| `tester_shop` | 지정판매소 | 2 |
|
||||
| `tester_user` | 일반 사용자 | 1 |
|
||||
|
||||
### 테스트 규칙
|
||||
- **작업 완료 시 해당 기능의 테스트를 반드시 작성/실행**
|
||||
- 테스트 디렉토리: `tests/unit/`, `tests/database/`, `tests/session/`
|
||||
- CI4 TestCase 사용: `CodeIgniter\Test\CIUnitTestCase`, `CodeIgniter\Test\DatabaseTestTrait`
|
||||
- 테스트 파일명: `{ClassName}Test.php` (PascalCase)
|
||||
- 테스트 메서드명: `test{행위}` (camelCase)
|
||||
- DB 테스트 시 `DatabaseTestTrait` + `$seed` 속성 활용
|
||||
- **작업 완료 시 해당 기능의 E2E 테스트를 반드시 작성/실행**
|
||||
- 테스트 파일: `e2e/{기능명}.spec.js`
|
||||
- 공통 로그인은 `e2e/helpers/auth.js`의 `login(page, role)` 사용
|
||||
- 새 기능 추가 시 해당 페이지 접근 + 주요 CRUD 동작 테스트 작성
|
||||
- 테스터 계정 시딩: `node e2e/helpers/db-seed.js`
|
||||
|
||||
## DB 초기화 순서
|
||||
|
||||
|
||||
Reference in New Issue
Block a user