2015-07-07 12 views
5

Mein Test ist:junit4 Android Testfield Text Test

@RunWith(AndroidJUnit4.class) 
@LargeTest 
public class TipActivityTests { 

    @Rule 
    public ActivityTestRule<TipActivity> mActivityRule = new ActivityTestRule<>(TipActivity.class); 

    @Test 
    public void initialValues() { 
     onView(withId(R.id.tip_label_base_price)).check(matches(ViewMatchers.withText("45""))); 
    } 

} 

Aber ich habe den Fehler 'with text: is "45"' doesn't match the selected view. Expected: with text: is "45":

android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: 'with text: is "45"' doesn't match the selected view. 
Expected: with text: is "45" 
Got: "AppCompatTextView{id=2131689669, res-name=tip_label_base_price, visibility=VISIBLE, width=266, height=106, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=141.0, y=96.0, text=$ 45.00, input-type=0, ime-target=false, has-links=false}" 

Es dosen't Sinn für mich, es sollte nicht den tatsächlichen Wert von drucken das Feld gegen den Vergleichswert?

Antwort

2

Ich hatte das gleiche Problem und verbrachte einige Zeit damit, die Ursache zu verstehen. Es stellte sich heraus, dass die Saiten nicht gleichwertig waren, deshalb versagte es. Die Fehlermeldung ist nicht wirklich explizit, weil es die gesamten Objekteigenschaften usw. druckt, anstatt zu sagen: expected: "foo", received: "bar". Aber die Saiten werden tatsächlich verglichen.

+1

Ja, Sie können in der print sehen 'text =" real_text "' aber es ist schrecklich! – Caipivara

Verwandte Themen