Assert ImageView wurde mit einer bestimmten ID für die auszeichnungsfähige Ressource geladen

8

Ich schreibe einen Robolectric Unit-Test und ich muss eine Behauptung machen, dass ein ImageView setImageResource(int) wurde mit einer bestimmten Ressourcen-ID aufgerufen. Ich verwende fest-android für Behauptungen, aber es scheint diese Behauptung nicht zu enthalten.

Ich habe auch versucht, die ShadowImageView von Robolectric für das ImageView, weil ich weiß, dass es dir Zugang zu diesem gab, aber es ist jetzt weg.

Schließlich habe ich versucht, setImageDrawable in meinem Code anstelle von setImageResource aufzurufen, dann setze in meinem Test so ein:

%Vor%

aber das scheitert auch, obwohl die Fehlermeldung deutlich zeigt, dass dasselbe Drawable geladen wird.

    
Christopher Perry 02.08.2013, 02:59
quelle

3 Antworten

23

Mit Robolectric 2.2:

Sie müssen eine kleine Indirektion nehmen, um dies zu erreichen. Die ShadowImageView hilft nicht. Benutze stattdessen ShadowDrawable:

%Vor%

Ich hoffe, das hilft

    
Manuel 10.03.2014 08:37
quelle
6

Von Roboelectric 3.0 +

So können Sie tun:

%Vor%     
Prakash 22.09.2016 18:03
quelle
5

Am Ende habe ich fest-android verlängert, um das zu lösen:

%Vor%

Die magische Soße ist:

%Vor%

das ist Robektrectric spezifisch, also kann ich nicht eine Ziehenanforderung an fest-android mit diesem einreichen.

    
Christopher Perry 02.08.2013 04:47
quelle