面向测试编程——SmartRefreshLayout的测试case
产品层面总是以为开发是面向需求编程,其实不是,开发是面向测试case编程
就比如SmartRefreshLayout除了要考虑网络正常的情况,还要考虑网络异常的情况
SmartRefreshLayout的测试case
- 没有数据的时候禁止加载更多, 既然第一页都没有, 干嘛要第二页
binding.refreshLayout.setEnableLoadMore(false)// 或者<com.scwang.smart.refresh.layout.SmartRefreshLayoutandroid:id="@+id/refreshLayout"app:srlEnableLoadMore="false"android:layout_width="match_parent"android:layout_height="match_parent"></com.scwang.smart.refresh.layout.SmartRefreshLayout>
- 刷新失败后重置page
- 加载失败后重置page
分享一下自己写的网络异常的loadMoreFail和refreshFail
class PageReqBean {var page = ApiConstants.PAGE_STARTvar pageSize = ApiConstants.PAGE_SIZEprivate var lastPage = ApiConstants.PAGE_STARTfun increase() {lastPage = pagepage++}fun loadMoreFail() {reset()}fun refreshFail() {reset()}fun reset() {page = lastPage}fun setRefresh() {lastPage = pagepage = ApiConstants.PAGE_START}fun isRefresh(): Boolean {return page == ApiConstants.PAGE_START}
}