#테스팅
17 편의 글
테라폼 운영 강좌 #3 코드 품질과 테스트: tflint, pre-commit, terraform test
fmt와 validate 위에 tflint를 얹어 provider 지식 기반의 오류(존재하지 않는 인스턴스 타입 등)를 plan 전에 잡고, pre-commit 훅으로 커밋 시점에 자동화합니다. 테라폼 내장 테스트 프레임워크인 terraform test의 tftest 파일과 run·assert 구조를 모듈 테스트 예제로 익히고, plan 테스트와 apply 테스트의 비용 차이에 따른 사용 기준까지 정리하겠습니다.
Rust 실전 강좌 #6 테스트: 파서 단위 테스트에서 CLI 통합 테스트까지
loglens에 안전망을 두릅니다. 같은 파일 안에 두는 #[cfg(test)] 단위 테스트(파서의 정상·경계·실패 케이스), tests/ 디렉터리의 통합 테스트, assert_cmd와 predicates로 빌드된 바이너리를 실제로 실행해 출력과 종료 코드를 검증하는 CLI 테스트, tempfile로 만드는 임시 로그 파일, 그리고 cargo test가 테스트를 병렬 실행한다는 사실이 갖는 함의까지 다루겠습니다.
Wails 실전 강좌 #8 테스트 전략 — 서비스와 저장소를 검증하기
#1에서 층을 나누며 약속했던 테스트를 실제로 작성합니다. Wails 없이 순수 Go로 서비스 로직을 검증하는 단위 테스트, 임시 SQLite로 저장소를 검증하는 통합 테스트, 테이블 주도 테스트로 경계 조건을 훑는 법, 그리고 이 테스트를 #6의 CI에 넣어 릴리스 전에 자동으로 돌리는 법을 다룹니다.
파이썬 테스트 #6 테스트 설계: 좋은 테스트와 커버리지 읽는 법
테스트 설계의 기본기인 AAA 패턴과 동작 중심 테스트부터 테스트 더블 용어 정리, 플레이키 테스트 대응, pytest-cov 커버리지 숫자를 올바르게 읽는 법까지 다룹니다.
파이썬 테스트 #5 외부 세계 테스트: 파일, HTTP, DB, 웹 프레임워크
mock으로 다 막은 테스트는 진짜 동작을 보장하지 못합니다. 파일은 tmp_path로 진짜를 쓰고, HTTP는 respx로 경계만 막고, DB는 트랜잭션 롤백으로 되돌리는 외부 세계 테스트 전략을 정리합니다.
파이썬 테스트 #4 mock과 monkeypatch: 통제할 수 없는 것을 통제하기
시간, 랜덤, 외부 API처럼 실행할 때마다 결과가 달라지는 의존성을 monkeypatch와 unittest.mock으로 고정하는 방법을 다룹니다. patch 경로 함정과 과잉 mock의 경계까지 정리합니다.
파이썬 테스트 #3 parametrize와 마커: 케이스를 늘리고 골라 돌리기
pytest의 @pytest.mark.parametrize로 입력만 다른 테스트를 케이스 표 하나로 합치고, skip·skipif·xfail과 커스텀 마커, -m·-k 옵션으로 원하는 테스트만 골라 실행하는 방법을 정리합니다.
파이썬 테스트 #2 픽스처: 준비와 정리를 주입받기
@pytest.fixture로 테스트의 준비 코드를 주입받는 방법을 다룹니다. yield 티어다운, scope 트레이드오프, conftest.py 공유, tmp_path 같은 내장 픽스처까지 정리합니다.
파이썬 테스트 #1 pytest 시작: assert 하나로 충분한 이유
pytest를 설치하고 assert 하나로 첫 테스트를 작성하는 방법부터 unittest와의 차이, 실패 출력 읽는 법, 테스트 디스커버리 규칙까지 정리합니다.
테스팅 강좌 #6 Playwright로 E2E와 CI 통합 — 트랙 마무리
트랙의 마지막입니다. 진짜 브라우저에서 실제 흐름을 검증하는 E2E. Playwright 셋업, locator의 역할, page object 패턴 짧게, GitHub Actions CI 통합, 커버리지 리포트, 그리고 6편의 회수까지 정리합니다.
테스팅 강좌 #5 사용자 이벤트와 폼 테스트 — userEvent의 역할
입력과 제출을 다룹니다. userEvent와 fireEvent의 차이, type/clear/click/keyboard/upload의 패턴, React Hook Form 위의 폼 테스트, 검증 에러 시나리오, 그리고 한 폼 테스트가 정말로 검증해야 할 것은 무엇인지까지 정리합니다.