Sono nuovo per Android Studio. Sto usando Android Studio 1.2 preview 2, gradle 2.2.1 e gradle plugin 1.1.0.Test delle unità su Android Studio: errore "not mocked"
non riesco a risolvere questo errore, quando si tenta di eseguire il mio test di unità:
java.lang.RuntimeException: Method getInstrumentation in android.test.InstrumentationTestCase not mocked
Questa è la mia classe di test:
public class AppPreferencesTest extends InstrumentationTestCase {
AppPreferences preferences;
@Before
public void setUp() throws Exception {
preferences = new AppPreferences(getInstrumentation().getTargetContext());
}
...
Nel mio build.gradle:
testCompile 'junit:junit:4.12'
Ho provato ad aggiungere questo
testOptions {
unitTests.returnDefaultValues = true
}
perché è stato menzionato nei passaggi che ho seguito a http://tools.android.com/tech-docs/unit-testing-support ma non lo aggiusta.
Ho provato anche la creazione di un MockContext:
preferences = new AppPreferences(new MockContext());
ma il costruttore di AppPreferences che dà un errore
public AppPreferences(Context context) {
preferences = PreferenceManager.getDefaultSharedPreferences(
context);
}
...
RuntimeException: Method getDefaultSharedPreferences in android.preference.PreferenceManager not mocked.
"Grazie ai consigli di Jared". Eppure, ti sei dato credito. –
Perché RobolectricTestRunner è migliore di MockitoJunitRunner? –
Si prende gioco di tutte le classi specifiche di Android facilmente, come in contesti. – Frank