我正在使用robolectric框架來測試我的android項目。它工作得很好,但我怎麼也找不到解決問題:Robolectric測試:無法獲取區域
在我的活動課,我必須考慮當前的語言如下:
private void setCurrentLanguageChoosenInRadioGroup() {
Configuration c = new Configuration(getResources().getConfiguration());
String locale = c.locale.getLanguage();
if(locale.equalsIgnoreCase(Constants.DUTCH_LANGUAGE)){
radioLanguageGroup.check(dutchButton.getId());
}
else if(locale.equalsIgnoreCase(Locale.FRENCH.getLanguage())){
radioLanguageGroup.check(frenchButton.getId());
}
else if(locale.equalsIgnoreCase(Locale.ENGLISH.getLanguage())){
radioLanguageGroup.check(englishButton.getId());
}
}
但在「C線.locale.getLanguage();」我得到nullpointerexception。這是我的測試方法:
public void setUp() throws Exception {
activity = new MainActivity();
activity.onCreate(null); ....
有沒有人有一個想法是什麼問題,它是如何解決的?
遺憾的反應後期。你是對的,getResources()。getConfiguration()也是null。在我看到你的答案後,我也嘗試使用ShadowConfiguration,但可能它不是真正的使用方式。我剛剛創建了一個影子對象並對其進行了初始化。你能解釋一下如何使用它嗎?例如,在這種情況下。 – Asqan