2015-04-09 16 views

risposta

5

Sì, è possibile controllare il campione ufficiale di Google here.

+3

non c'è un esempio pertinente per la risposta che segue quel collegamento. –

1

L'attuale risposta accettata non fornisce una spiegazione e l'esempio collegato non è ottimo per mostrare cosa è necessario fare. Ecco una spiegazione più completa che, si spera, salverà qualcuno dal momento in cui l'ho capito.


Mentre la documentazione non rende questo super ovvio, in realtà è sorprendentemente facile da configurare! Sei in grado di utilizzare un altro corridore con test Android strumentati, purché imposti il ​​numero testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" nel file del modulo build.gradle. Se è impostato, non è necessario impostare in modo esplicito @RunWith(AndroidJUnit4.class) nei test strumentati.

Un esempio minimo sarebbe simile a questa:

build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 26 
    buildToolsVersion "26.0.1" 

    defaultConfig { 
     minSdkVersion 19 
     targetSdkVersion 26 

     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
} 

SampleParameterizedTest.java:

@RunWith(Parameterized.class) 
public class SampleParameterizedTest { 

    @Parameter(value = 0) 
    public int mTestInteger; 

    @Parameter(value = 1) 
    public String mTestString; 

    @Parameters 
    public static Collection<Object[]> initParameters() { 
     return Arrays.asList(new Object[][] { { 0, "0" }, { 1, "1" } }); 
    } 

    @Test 
    public void sample_parseValue() { 
     assertEquals(Integer.parseInt(mTestString), mTestInteger); 
    } 
} 

Se si ha anche la necessità di eseguire alcuni test individualmente e altri parametrizzata nel stessa classe di test, vedere questa risposta sull'utilizzo del corridore Enclosed: https://stackoverflow.com/a/35057629/1428743

Problemi correlati