ho aggiunto le seguenti dipendenze al mio progetto Android:Ottenere junit.framework.AssertionFailedError: Nessun test si trovano in [pacchetto] quando si utilizzano unità e Mockito
// Unit testing dependencies
androidTestCompile 'junit:junit:4.12'
// Set this dependency if you want to use Mockito
androidTestCompile 'org.mockito:mockito-core:1.10.19'
e creare un test utilizzando api Junit4 (un esempio, Adder è una semplice classe che riassume interi):
@RunWith(MockitoJUnitRunner.class)
public class AdderTest {
@Test
public void testValidAdd() {
Adder adder = new Adder();
assertEquals(adder.add(1,1), 2);
}
}
Quando provo ad eseguire il test, ottengo:
Running tests Test running started junit.framework.AssertionFailedError: No tests found in com.test.myapp.AdderTest at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701) Finish
Ho letto here e here, ma nulla aiuta.
Qualcuno vede cosa sto facendo male/ha qualche input?
I test di unità appartengono alla cartella 'test', quindi utilizzare' testCompile'. Inoltre, non è necessario '@RunWith (MockitoJUnitRunner.class)'. –
Questo era solo un esempio. Ho bisogno nel mio progetto originale di usare i mock. Inoltre, il codice che sto testando utilizza android.util.Patterns.EMAIL_ADDRESS e restituisce null quando lo eseguo come test unitario. Se lo eseguo come test di una strumentazione Android, non restituirà l'abbinamento attuale? – dors
Pubblica il tuo codice per chiarezza. Dovresti usare Robolectric per il test dell'unità.Strumenterà le classi di cui hai bisogno in modo da non aver bisogno di simulazioni * per tutto *. –