[flutter] 플러터 build_runner의 테스트와 코드 커버리지 기능

가끔씩 플러터(Flutter) 프로젝트를 진행하다 보면 build_runner 패키지를 사용하여 코드 생성과 관련된 작업을 수행해야 할 때가 있습니다. 이때 build_runner에 내장된 테스트와 코드 커버리지(code coverage) 기능을 효과적으로 활용해보려 합니다.

1. build_runner란?

1.1 build_runner의 역할

플러터 개발 중 코드 생성 및 변환 작업을 자동화하기 위해 사용되는 도구이며, 소스 코드 기반의 코드 생성과 변환을 지원합니다.

1.2 build_runner의 플러그인

build_runner는 여러 플러그인을 제공하며, 그 중에는 테스트와 코드 커버리지 지원 플러그인도 포함되어 있습니다.

2. build_runner를 사용한 테스트

build_runner를 사용하여 테스트를 실행하는 방법은 다음과 같습니다.

Step 1: dev_dependencybuild_runner 및 테스트에 필요한 패키지들을 추가합니다.

dev_dependencies:
  build_runner:
  flutter_test:

Step 2: pubspec.yaml에 테스트를 실행할 스크립트를 추가합니다.

scripts:
  test: flutter test
  build_runner_test: flutter pub run build_runner test

Step 3: 명령 프롬프트에서 다음 명령을 실행하여 build_runner를 사용하여 테스트를 실행합니다.

flutter pub run build_runner test

3. 코드 커버리지 분석

build_runner를 사용하여 코드 커버리지를 분석하는 방법은 아래와 같습니다.

Step 1: 테스트 및 코드 커버리지 분석을 위한 패키지를 추가합니다.

dev_dependencies:
  build_runner:
  flutter_test:
  coverage:

Step 2: pubspec.yaml에 코드 커버리지를 분석하는 스크립트를 추가합니다.

scripts:
  test: flutter test --coverage
  build_runner_test: flutter pub run build_runner test
  coverage: genhtml --output=coverage/html coverage/lcov.info

Step 3: 명령 프롬프트에서 flutter pub run build_runner test 명령으로 테스트를 실행한 후, 아래 명령을 실행하여 코드 커버리지를 생성합니다.

flutter pub run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info --packages=.packages --report-on=lib

Step 4: 코드 커버리지를 웹 페이지로 확인하기 위해 아래 명령을 실행합니다.

flutter pub run build_runner coverage

build_runner를 사용하여 테스트 실행 및 코드 커버리지 분석을 통해 플러터 애플리케이션의 코드 품질을 유지하고 향상시킬 수 있습니다.

요약

이번 포스트에서는 build_runner를 사용하여 테스트와 코드 커버리지를 적용하는 방법에 대해 살펴보았습니다. build_runner를 활용하여 개발 생산성을 높이고 코드의 품질을 향상시키는데 도움이 될 것입니다.


참고자료: