Android Junit TestExecutionListner to get result

L

Lisa2

Neues Mitglied
0
Ich schrieb eine Android App, ich benutze Maven, um das Projekt zu builden, und zu testen.

Ich benutze JUnit und ActivityInstrumentationTestCase2, funktioniert alles schön und ich sehe die Ergebnisse meiner Tests auf der Konsole :thumbsup: , aber jetzt muss ich die Testergebnisse an einen Server senden, mit Namen des Tests und einen Stacktrace. :glare:

Also ich denke, ich brauche so etwas wie TestExecutionListner, aber ich weiß nicht ob so etwas in Android oder JUnit Api zu finden ist :confused:
 
Zuletzt bearbeitet:
Ich habe JUnit bisher nicht für Android genutzt aber für normales Java schon öfter. Vielleicht hilft dir das hier weiter:

Du brauchst eine Java Klasse die den Test ausführt und dann das Result Objekt verarbeitet. Das Result Objekt hat eine List mit Failures. Zu jedem Failure kannst du dir dann den StackTrace holen.

Code:
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

public class TestRunner {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestCase.class);
      
      StringBuilder bericht = new StringBuilder();
      for (Failure failure : result.getFailures()) {
    	  bericht.append(failure.getTestHeader());
    	  bericht.append(System.getProperty("line.separator"));
    	  bericht.append(failure.getMessage());
    	  bericht.append(System.getProperty("line.separator"));
    	  bericht.append(failure.getTrace());
    	  bericht.append(System.getProperty("line.separator"));
       }
       if (result.wasSuccessful()) {
    	   bericht.append("Test ohne Fehler abgeschlossen");
       }
       
   }
}

Wie du den Bericht jetzt weiter verarbeitest hängt von der Serverschnittstelle ab.
 
das weiß ich auch... trozdem danke :love:
 
hmm, dann habe ich noch nicht so ganz verstanden, was du vor hast. Worauf soll der Listener denn reagieren?
 
ich weiß nicht ob ich einen Listener brauche oder nicht.
ich muss das Ergebnis von jedem Test nach der Ausführung zum Server schicken (durch REST- Schnittstelle).
ich versuche gerade die InstrumentationTestRunner zu überschreiben, um auf das TestResult zu kommen. Ich finde dafür aber keine Beispiel-Implementierung und ich weiß es nicht ob das den richtigen Weg ist :confused2:.
 

Ähnliche Themen

M
Antworten
4
Aufrufe
1.173
swa00
swa00
5
Antworten
0
Aufrufe
1.152
586920
5
B
Antworten
4
Aufrufe
496
bb321
B
Zurück
Oben Unten