flutter_gen패키지에 기여를 했다.

기여 내용은 DefaultSvgTheme로 부터 전달되는 SvgTheme가 svg integrations generation과정에서 Svg 위젯이 default argument로 const SvgTheme() 를 생성하기 때문에 제대로 전달되지 않았던 버그를 고쳤다.

비교적 단순한 수정이여서 하루만에 merge가 되었다. 아마 다음 버전인 5.5.0에 포함될 것이다.

기여 과정

  1. CONTRIBUTING.md 를 읽고 melos를 설치하고 project bootstrap을 했다.
  2. 버그가 되는 코드를 수정했다.
  3. Issue, PR을 올리자 Maintainer가 test code를 요청했다.
  4. 이 라이브러리엔 아직 flutter_test 를 사용하는 테스트 코드가 없었고, 실제 DefaultSvgTheme로 부터의 테마가 제대로 전달되는지 확인하기 위해 widget test가 필요한 상황이였다.
  5. 이를 example 프로젝트의 의존성에 추가하고 melos.yaml 설정도 변경해 테스트 코드에 flutter_test가 동작할 수 있는 스크립트도 추가했다.

배운 것

  • melos: melos는 dart용 lerna 같은 monorepo관리 툴인데, 독스도 짧아서 모두 읽었고 나중에 monorepo를 구성할 일이 있으면 유용할 것 같다. 굳이 monorepo package만이 아닌 앱 프로젝트를 feature로 모듈화할 때도 사용할 수 있을 듯 하다.
  • flutter_test: 플루터로 테스트는 예전에 test 패키지를 대략 읽어서 방법은 알고있었는데 widget test에 대해서는 잘 몰랐는데 찾아가며 나름 적절한 방법으로 테스트 코드를 작성할 수 있었다.

테스트 코드 파일

Categories:

Updated:

Comments