При использовании Robolectric 2.4 мы могли бы определить наш testRunner для получения нашего AndroidManifest и определить наш getTargetSdkVersion в качестве кода ниже.Как определить TargetSDK в TestRunner Robolectric 3.0
@Override
protected AndroidManifest getAppManifest(Config config) {
return new AndroidManifest(Fs.fileFromPath(MANIFEST_PROPERTY), Fs
.fileFromPath(RES_PROPERTY)) {
@Override
public int getTargetSdkVersion() {
return TARGET_SDK_VERSION;
}
};
}
В Robolectric 3.0, это была изменена, мы определяем получение AndroidManifest, как показано ниже
@Override
protected AndroidManifest getAppManifest(Config config) {
return createAppManifest(Fs.fileFromPath(MANIFEST_PROPERTY), Fs.fileFromPath(RES_PROPERTY), Fs.fileFromPath(ASSET_PROPERTY));
}
Это хорошо. Но теперь, как я могу установить getTargetSdkVersion в Robolectric 3.0 сейчас? Обратите внимание, что в Android Studio мы не определяем TargetSdkVersion в AndroidManifest. В настоящее время я использую @Config, чтобы обойти это, но хотел бы поместить все в класс TestRunner.
Спасибо Эрик. Это то, что я уже делаю, как упоминалось выше. «В настоящее время я использую @Config для обхода этого, но хотел бы поместить все в класс TestRunner». – Elye
Мне очень жаль, я полностью пропустил эту часть. Я обновил свой ответ. Я пробовал несколько вещей, но я не знаю, как проверить, работает ли это или нет (это не провалилось, но я не знаю, как это проверить: P) –
В любом случае, если вы найдете ответ, поделитесь им , –