测试Dialog:
- @Testpublic voidtestShowTelDialog(){
- view.showTelDialog();
- //因为提示框 dialog 在 view 中属于私有变量,不须要对外裸露办法,如不雅为了测试而写一个get set 办法似乎太过牵强//所以采取 Java 反射的办法获取dialog对象try{// /经由过程类的字节码获得该览鲂声明的所有属性,无论私有或公有Field field = WeatherHelpCenterImpl.class.getDeclaredField("telDialog");// 设置拜访权限(这点对于有过android开辟经验的可以说很熟悉)field.setAccessible(true);// 获得私有的变量值Object dialog = field.get(view);
- TConfirmDialog telDialog = (TConfirmDialog) dialog;
- //获取到Dialog对象之后,再经由过程反射获取Dialog中TextView对象Field fieldDialog = TConfirmDialog.class.getDeclaredField("tvTitle");// 设置拜访权限fieldDialog.setAccessible(true);//获取telDialog中的TextView对象Object title = fieldDialog.get(telDialog);
- TextView tvTitle = (TextView) title;
- //经由过程assert办法验证标题assertEquals("验证标题",tvTitle.getText().toString(),"客服德律风");//获取到Dialog对象之后,再经由过程反射获取Dialog中TextView对象fieldDialog = TConfirmDialog.class.getDeclaredField("tvConfirm");//获取telDialog中的TextView对象Object confirm = fieldDialog.get(telDialog);
- TextView tvConfirm = (TextView) confirm;
- //经由过程assert办法验证标题assertEquals("验证肯定按钮",tvConfirm.getText().toString(),"拨打德律风");//获取到Dialog对象之后,再经由过程反射获取Dialog中TextView对象fieldDialog = TConfirmDialog.class.getDeclaredField("tvCancel");//获取telDialog中的TextView对象Object cancel = fieldDialog.get(telDialog);
- TextView tvCancel = (TextView) cancel;
- //经由过程assert办法验证标题assertEquals("验证撤消按钮",tvCancel.getText().toString(),"撤消");
- }
- catch(Exception e) {
- //error}
推荐阅读
前几天收到了一名网友的乞助,表示他无法正常上彀,并且当他在查找断网原因刹那,竟然发明默认的网关地址也消掉了。面对这种情况,他表示不知该若何处理。实际上,出现默认网关空白的情况有下面几个原因。起首,可能>>>详细阅读
本文标题:安卓单元测试全攻略,让代码测试一劳永逸
地址:http://www.17bianji.com/lsqh/36696.html
1/2 1