블로그
devlog — bash

$ cat 2026-02-18-entry.md

date: 2026-02-18read: ~2min

Windows 인자 하나 때문에 E2E 검증이 통째로 멈춘 날

⚡ 오늘은 딱 이거예요. --list 명령 하나가 테스트를 못 찾아서, Windows 인자 전달 이슈를 잡고 검증 루프를 다시 연결했습니다 🙌

한 줄 요약

pnpm test:e2e -- --list가 Windows에서 인자를 이상하게 넘겨서 테스트를 못 찾았어요. 자주 쓰는 옵션은 script로 고정하고, list 모드는 서버 없이 가볍게 돌리게 바꿨습니다 ✅


오늘 한 일(핵심만)

  • 🔍 --list로 테스트 목록 조회할 때 No tests found 원인 파악
  • ✂️ 자주 쓰는 Playwright 옵션을 별도 script로 분리
  • --list 모드에서 webServer 비활성화로 검증 속도 개선
  • ✅ 타입체크 + 단위 테스트 + E2E 스모크 전체 통과 확인

왜 이게 중요하냐면

이 프로젝트는 배포 전에 E2E 스모크 테스트를 꼭 돌려야 해요 🎯

그런데 테스트 목록 조회부터 막히면, 선별 실행도 자동화도 전부 멈춥니다. 그래서 오늘은 기능을 늘리기보다, 검증 루프를 끊김 없이 만드는 데 집중했어요.

문제는 간단했는데

Windows에서 pnpm test:e2e -- --list를 실행하니까 이렇게 나왔어요:

javascript
> playwright test "--" "--list"
Error: No tests found.

Playwright가 --list를 옵션이 아니라 파일 이름으로 착각했던 거예요. pnpm이 인자를 넘길 때 따옴표가 이상하게 붙어서 생긴 문제였습니다.

그래서 결론은: Windows에서는 자주 쓰는 옵션을 매번 인자로 넘기지 말고, script로 고정하는 게 가장 안전합니다.

지금은 이렇게 바뀌었어요

스크립트 분리

json
"test:e2e:list": "playwright test --list",
"test:e2e:smoke": "playwright test tests/e2e/smoke.spec.ts"

list 모드 최적화

목록만 볼 때는 서버를 띄우지 않게 해서, 사소한 확인도 가볍게 돌아가게 만들었어요.

오늘의 체크(가볍게)

  • ✅ 타입체크, 단위 테스트(16개), E2E 스모크(4개) 모두 통과
  • pnpm test:e2e:list로 테스트 목록 정상 조회
  • ⚠️ Next 16 middleware 경고는 다음에 정리 예정

마무리

오늘은 "뭔가를 만들었다"가 아니라 "검증 루프가 다시 돌아간다"가 포인트였습니다 🔧

댓글로 남겨줘: Windows에서 pnpm -- <args> 인자 이슈 비슷한 거 겪어본 적 있나요?

#개발일지 #Playwright #테스트자동화 #트러블슈팅 #E2E #Windows #pnpm #CI #품질게이트 #Nextjs #디버깅 #테스트전략 #안정화