Android Test if toast is shown
我正在编写一个测试来检查是否显示了自定义 Toast。
Toast 没有被构造并显示在 Activity 实例中。我创建了一个可以访问 Context.
的类
1 2 3 4 5 6 7 8 9 10
| public class ToastHandler {
private Context context ;
public ToastHander (Context context ){
this. context = context ;
}
public createToast (DataStructure data ){
// Create and show Custom Toast using data and context
}
} |
我应该如何进行测试?我正在使用浓缩咖啡。
- 这回答了你的问题了吗?在 android espresso 中检查 toast 消息
呢?
1
| onView(withText(R.string.toast_text)).inRoot(withDecorView(not(mActivityRule.getActivity().getWindow().getDecorView()))).check(matches(isDisplayed())); |
?
如果有这样的需要,你可以像这样创建匹配器
http://baroqueworksdev.blogspot.de/2015/03/how-to-check-toast-window-on-android.html
- 如何获得 mActivityRule。我不需要启动我想测试仅显示的 Toast 的 Activity。
-
Espresso 用于视图 (UI) 测试,如果您尝试在没有视图的情况下测试 toast,那么您可能不适合使用 espresso,好吗? AFAIK,您至少需要应用程序上下文来显示 toast,我错了吗?:)
-
我的意思是你要测试系统行为,而不是你的应用程序,就是这样 - 你的代码只能由 jUnit 测试
-
我正在使用 espresso,所以我可以访问应用程序的上下文。我不能只用 jUnit 来测试它。
-
我不知道你真的要测试什么?如果调用的该方法显示吐司?那是背景/服务案例吗?
-
它将从活动和后台服务中显示出来。