Инструментальный тест не прошел в тестовой лаборатории, неверный символ валюты

Я пытаюсь использовать тестовую лабораторию Firebase для запуска инструментальных тестов моего приложения для Android, но некоторые тесты не увенчались успехом, потому что символ валюты не евро (), а стандартный знак валюты (¤).

Локаль четко определена (французская) и работает без проблем на моем локальном компьютере.

Должен ли я не жестко записывать символ в тестовом классе и получать его динамически с помощью класса Currency? Но хорошая практика заключается в том, чтобы всегда жестко записывать ожидаемое значение...

Expected: with text: is "0,00 €"
Got: "AppCompatTextView{id=2131296465, res-name=total, visibility=VISIBLE, width=1071, height=57, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.RelativeLayout$LayoutParams@120f8796, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=0,00 ¤, input-type=0, ime-target=false, has-links=false}"

person woprandi    schedule 16.01.2019    source источник
comment
Немного больше контекста было бы здорово. Как создается текст для текстового представления (например, фрагмент кода)? Какую локаль вы устанавливаете в Test Lab? Просто французский [fr] или код страны, например французский (Франция) [fr_FR]? Вам может помочь аналогичный вопрос: stackoverflow.com/questions/26376439/   -  person Maik    schedule 17.01.2019


Ответы (1)


можно передать желаемую локаль в тестовую лабораторию с параметром --device.

как документация для gcloud firebase test android run< /а> читает:

--device теперь является предпочтительным способом указания тестовых устройств и не может использоваться вместе с --devices-ids, --os-version-ids, --locales или --orientations. Если не указывать все предыдущие флаги, относящиеся к измерениям, тесты будут выполняться на одном устройстве с использованием значений по умолчанию для всех четырех измерений устройства.

--device model=shamu,version=23,locale=fr_FR,orientation=default

в противном случае он просто будет использовать локаль по умолчанию en, что приводит к этому неуказанному символу валюты ¤.

предположить, что французская локаль означает, что как символ валюты может быть неправомерным; потому что при запуске gcloud firebase test android locales list он выводит довольно много колоний:

│ fr     │ French                      │                                          
│ fr_BE  │ French                      │ Belgium                           
│ fr_BF  │ French                      │ Burkina Faso                      
│ fr_BI  │ French                      │ Burundi                           
│ fr_BJ  │ French                      │ Benin                             
│ fr_BL  │ French                      │ Saint Barthélemy                  
│ fr_CA  │ French                      │ Canada                            
│ fr_CD  │ French                      │ Congo (DRC)                       
│ fr_CF  │ French                      │ Central African Republic          
│ fr_CG  │ French                      │ Congo (Republic)                  
│ fr_CH  │ French                      │ Switzerland                       
│ fr_CI  │ French                      │ Côte d’Ivoire                     
│ fr_CM  │ French                      │ Cameroon                          
│ fr_DJ  │ French                      │ Djibouti                          
│ fr_DZ  │ French                      │ Algeria                           
│ fr_FR  │ French                      │ France                            
│ fr_GA  │ French                      │ Gabon                             
│ fr_GF  │ French                      │ French Guiana                     
│ fr_GN  │ French                      │ Guinea                            
│ fr_GP  │ French                      │ Guadeloupe                        
│ fr_GQ  │ French                      │ Equatorial Guinea                 
│ fr_HT  │ French                      │ Haiti                             
│ fr_KM  │ French                      │ Comoros                           
│ fr_LU  │ French                      │ Luxembourg                        
│ fr_MA  │ French                      │ Morocco                           
│ fr_MC  │ French                      │ Monaco                            
│ fr_MF  │ French                      │ Saint Martin                      
│ fr_MG  │ French                      │ Madagascar                        
│ fr_ML  │ French                      │ Mali                              
│ fr_MQ  │ French                      │ Martinique                        
│ fr_MR  │ French                      │ Mauritania                        
│ fr_MU  │ French                      │ Mauritius                         
│ fr_NC  │ French                      │ New Caledonia                     
│ fr_NE  │ French                      │ Niger                             
│ fr_PF  │ French                      │ French Polynesia                  
│ fr_PM  │ French                      │ Saint Pierre and Miquelon         
│ fr_RE  │ French                      │ Réunion                           
│ fr_RW  │ French                      │ Rwanda                            
│ fr_SC  │ French                      │ Seychelles                        
│ fr_SN  │ French                      │ Senegal                           
│ fr_SY  │ French                      │ Syria                             
│ fr_TD  │ French                      │ Chad                              
│ fr_TG  │ French                      │ Togo                              
│ fr_TN  │ French                      │ Tunisia                           
│ fr_VU  │ French                      │ Vanuatu                           
│ fr_WF  │ French                      │ Wallis and Futuna                 
│ fr_YT  │ French                      │ Mayotte                           
person Martin Zeitler    schedule 17.01.2019
comment
Да, я использовал fr вместо fr_FR. Большое спасибо ! - person woprandi; 17.01.2019
comment
@woprandi en и fr указывают только язык, а не местоположение ... для некоторых языков может быть только один символ валюты, но когда дело доходит до языков с глобальным распространением, отображение неуказанного ¤ имеет смысл только. - person Martin Zeitler; 17.01.2019
comment
да я знаю, я не знаю, почему я не нашел себя, но в примерах Test Lab используются en и fr - person woprandi; 17.01.2019