gpt4 book ai didi

android-espresso - 安卓。 Espresso : How write test check is text is underlined on TextView?

转载 作者:行者123 更新时间:2023-12-04 07:26:07 25 4
gpt4 key购买 nike

这是我的 xml 布局:

<TextView
android:id="@+id/forgotPasswordTextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:gravity="center"
android:onClick="@{ () -> presenter.doForgotPassword()}"
android:text="@string/forgot_password"
android:textColor="#bbbbbb"
android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/loginTextView"
app:layout_constraintStart_toStartOf="@+id/loginTextView" />

这里@string/forgot_password
<string name="forgot_password"><u>Forgot password?</u></string>

结果文本带下划线。好的。

但我想写 Espresso 测试来检查 中的文本 TextView 是下划线?我怎么能做到这一点?

enter image description here

最佳答案

如果是 Espresso 测试,则只需创建一个新的匹配器,如下所示:

public static Matcher<View> withUnderlinedText() {
return new BoundedMatcher<View, TextView>(TextView.class) {
@Override
protected boolean matchesSafely(TextView textView) {
CharSequence charSequence = textView.getText();
UnderlineSpan[] underlineSpans = ((SpannedString) charSequence).getSpans(0, charSequence.length(), UnderlineSpan.class);

return underlineSpans != null && underlineSpans.length > 0;
}

@Override
public void describeTo(Description description) {
}
};
}

并按如下方式使用它:
onView(withId(R.id.forgotPasswordTextView)).check(matches(withUnderlinedText()));

关于android-espresso - 安卓。 Espresso : How write test check is text is underlined on TextView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50818283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com