[flutter] easy_localization을 활용한 다국어 앱의 단위 테스트

다국어 앱을 개발할 때 Easy Localization 패키지는 매우 편리한 도구입니다. 하지만 이를 효과적으로 테스트하려면 어떻게 해야 할까요? 이 블로그 포스트에서는 easy_localization을 활용한 다국어 앱의 단위 테스트에 대해 알아보겠습니다.

Easy Localization 소개

Easy LocalizationFlutter 앱에서 다국어 지원을 쉽게 구현할 수 있도록 도와주는 패키지입니다. 이를 통해 다국어 지원된 앱을 쉽게 개발하고 유지보수할 수 있습니다.

단위 테스트 작성

Easy Localization을 테스트하려면 다음과 같은 단계를 따릅니다.

  1. 테스트용 언어 파일 생성: 테스트를 위한 언어 파일을 생성합니다. 이 파일은 실제 번역된 텍스트와 다른 테스트용 텍스트를 포함해야 합니다. 예를 들어, ‘en_test.json’과 같이 기존 언어 파일에 ‘_test’를 붙여서 생성합니다.

     {
       "title": "Hello, World!",
       "test_text": "This is a test"
     }
    
  2. 테스트 코드 작성: 테스트 코드에서는 Easy Localization을 활용하여 특정 언어로 앱을 설정하고, 특정 텍스트가 올바르게 표시되는지 확인합니다.

     test('Check test_text is displayed in English', () {
       await tester.pumpWidget(
         EasyLocalization(
           supportedLocales: [Locale('en')],
           path: 'assets/translations',
           fallbackLocale: Locale('en'),
           child: MyApp(),
         ),
       );
    
       expect(find.text('This is a test'), findsOneWidget);
     });
    
     test('Check test_text is displayed in Spanish', () {
       await tester.pumpWidget(
         EasyLocalization(
           supportedLocales: [Locale('es')],
           path: 'assets/translations',
           fallbackLocale: Locale('en'),
           child: MyApp(),
         ),
       );
    
       expect(find.text('This is a test'), findsOneWidget); // The same test_text is used for all languages
     });
    

마무리

Easy Localization을 사용하면 다국어 앱을 쉽게 개발할 수 있지만, 이를 효과적으로 테스트하는 것은 중요합니다. Easy Localization을 테스트하는 방법을 알고 있다면, 앱을 안정적으로 유지하면서 다국어 지원 기능을 개발하고 유지보수할 수 있을 것입니다.

이를 통해 Easy Localization을 사용하여 개발한 앱을 테스트하여 더욱 안정적이고 신뢰성 있는 앱을 제작할 수 있습니다.

References