2015-05-03 13 views
7

Ho creato un semplice test in Android Studio. E 'appena stampa hello from test e si confronta con 15System.out.println nel test Android

package com.example.maks.firstapp.test; 

import android.test.InstrumentationTestCase; 

public class ExampleTest extends InstrumentationTestCase { 
    public void test() throws Exception { 
     System.out.println("hello from test"); 

     final int expected = 1; 
     final int reality = 5; 
     assertEquals(expected, reality); 
    } 
} 

corro, ma non lo vedo da nessuna parte hello from test.

L'output:

Running tests 
Test running started 
junit.framework.AssertionFailedError: expected:<1> but was:<5> 
at com.example.maks.firstapp.test.ExampleTest.test(ExampleTest.java:15) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214) 
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) 
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) 
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661) 

Finish 

Dove System.out.println realtà non stampare

Aggiornamento

ho cercato di usare Log.d("MyApp", "hello from test"); ma risultato è lo stesso.

Ho provato a cercare in diverse sotto-finestre da hello from test ma non è stato trovato nulla.

Update 2

ho cambiato il codice da utilizzare e.Log:

package com.example.maks.firstapp.test; 

import android.test.InstrumentationTestCase; 
import android.util.Log; 

public class ExampleTest extends InstrumentationTestCase { 
    public void test() throws Exception { 
     Log.e("MyApp", "I am here"); 

     final int expected = 1; 
     final int reality = 5; 
     assertEquals(expected, reality); 
    } 
} 

Screenshots:

test è fatto. Running test

Ma logcat è vuota. empty logcat

+0

Non ho mai fatto test di unità su Android prima (hey, bene!) Ma in Android Studio c'è una scheda chiamata Log o qualcosa del genere, e puoi usare il casella di ricerca per filtrare i registri. – gengkev

+0

@gengkev Ho verificato il duplicato e ho provato 'Log.d' e ho provato a cercare con' ciao da test', ma non è stato d'aiuto. –

+0

Secondo http://stackoverflow.com/q/5451614/ 'Log.d' dovrebbe funzionare ... – gengkev

risposta

6

Usa Log per stampare stringhe e il check-nel tuo logcat.

Ci sono diverse varianti si può basare sul vostro bisogno come Log.d, Log.i, Log.e, ecc, che sono per scopi diversi, come il debug, informazioni, errore, ecc

e assicurarsi che il proprio 'livello di log' per il tuo logcat è selezionato. Se è su Error, non vedrai l'output per Log.d.

Further read

enter image description here enter image description here

+0

Ho provato 'Log.e' così con qualsiasi' Livello log' Devo vedere il mio messaggio, ma non lo vedo. –

+0

Se questo è il problema, posso solo immaginare che la parte del codice non sia mai stata raggiunta (o la compilazione fallisca o qualcosa del genere). Se l'app viene eseguita, prova "Log.e" sulla tua prima attività subito dopo "setContentView" solo per il test. – Samurai

0

Questo problema si verifica quando la classe si trova nella cartella di test sbagliato !, Passare alla cartella che avete (test). La tua classe è possibilmente nella cartella (AndroidTest)

Problemi correlati