Dialog的测试点须要包含Dialog的显示与隐蔽,Dialog的提示文字与按钮的文字显示,因为很多是私有变量,所以这里用到了一些Java反射来赞助获取对象。
今朝为止,我们已经完成了对Model层与View层的测试,MVP三兄弟只剩下P层还没有测试,下面我们就来看看P层该若何测试。P层作为M层与V层的纽带,起到了隔离视图与数据直接交互的感化。因为P层持有的只是V的接口,所以P层也可以抽离成简单的纯Java测试。让我们先来看看P层的测试代码:
- /**
- * Created by YangHaoyi on 2017/7/8.
- * Email : yanghaoyi@neusoft.com
- * Description :
- * Version :
- */
- public classWeatherPresenterTest {
- privateWeatherPresenterpresenter;
- privateIWeatherViewview;
- privateWeatherControlcontrol;
- privateWeatherModelweatherModel;
- privateWeatherRequestListenerlistener;
- @Beforepublic voidsetUp(){
- view=mock(IWeatherView.class);
- control=mock(WeatherControl.class);
- weatherModel=mock(WeatherModel.class);
- listener=mock(WeatherRequestListener.class);
- presenter=newWeatherPresenter(view);
- presenter.updateWeatherModel(weatherModel);
- presenter.updateControl(control);
- presenter.updateListener(listener);
- }
- @Testpublic voidtestRequest(){
- presenter.request();
- verify(weatherModel).request(listener,view.getLocationCity());
- }
- @Testpublic voidtestCancelRequest(){
- presenter.cancelRequest();
- verify(weatherModel).cancelRequest();
- }
- @Testpublic voidtestShowHourTemperature(){
- presenter.showHourTemperature();
- verify(control).buttonWasPressed(WeatherControl.TEMPERATURE);
推荐阅读
前几天收到了一名网友的乞助,表示他无法正常上彀,并且当他在查找断网原因刹那,竟然发明默认的网关地址也消掉了。面对这种情况,他表示不知该若何处理。实际上,出现默认网关空白的情况有下面几个原因。起首,可能>>>详细阅读
本文标题:安卓单元测试全攻略,让代码测试一劳永逸
地址:http://www.17bianji.com/lsqh/36696.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示