# Warum Methodenaufruf assertEquals ohne dot-Operator?



## lotos.bluete (27. Mrz 2014)

Hallo zusammen,

ich lerne zurzeit Android-App-Programmierer bei der SGD. Nun komme ich mit der Beantwortung einer Einsendeaufgabe nicht ganz klar. Ich habe mich auch schon wund gegoogelt, aber keine richtige Antwort gefunden. Um folgende Fragestellung geht es:

"Die assert-Methoden im Testprojekt wurden 'vereinfacht' aufgerufen mit assertEquals(ressourceString, textView.getText());. Normalerweise erfolgt der Zugriff einer Methode über den dot-Operator. Wie muss der insofern vollständige Aufruf der assert-Methoden lauten? Begründen Sie dies."

Der vollständige Aufruf ist m.M.n. junit.framework.Assert.assertEquals(ressourceString, textView.getText());

Aber die Begründung? Kann man das vergleichen mit der Klasse String, die ja eigentlich vollständig java.lang.String lauten müsste und weil beide Klassen (also sowohl junit.framework.Assert und java.lang.String) von der Mutter aller Klassen java.lang.Object erben?

Ich wäre euch sehr dankbar, wenn ihr mir hierbei helfen könntet.


----------



## JavaMeister (27. Mrz 2014)

Du kannst static importe nutzen, um den aufruf ohne klasse u machen.


----------



## lotos.bluete (28. Mrz 2014)

Oh wunderbar, das hat mich auf die richtige Spur gebracht. Letztendlich ist es wohl so, dass in der importierten Klasse android.test.ActivityInstrumentationTestCase2 laut Dokumentation die Methoden aus junit.framework.Assert geerbt werden und somit muss die Methode nicht mit vollständigem Namen ausgeschrieben werden.

Vielen Dank!


----------

