当周评分及优步司机成单率查询询

2416人阅读
Android 进阶(12)
  在软件开发中一直在推崇TDD(测试驱动开发),但是一直不能被有效的执行或者并不是真正的测试驱动开发(先开发后写单元测试),因为我们懒!而Android开发又是大多应用层面的开发,很多都是和视图层紧密相连的,业务逻辑和view相绑定,这导致编写单元测试有相当大的困难,因此就我项目而言,只针对工具类、服务端API编写单元测试。关于Android Studio如何编写单元测试并运行,可以看之前写的一篇文章
代码覆盖率
  编写好单元测试后,我们需要知道,测试用例是否覆盖了代码的所有分支情况,这样才能保证代码的可靠性、正确性。
编写测试用例
如果使用Android Studio创建项目的话,那么默认的会在androidTest包下生成一个ApplicationTest类,在这里面可以写测试用例。
上图写的是一个SharedPreferences Util工具类的测试用例。
如果你的测试用例不想写在这个包下,想自定义,也可以在项目的build.gradle写如下的配置
sourceSets {
androidTest{
java.srcDirs = ['src/com/helen/andbase/tests']
Gradle配置jacoco
  Jacoco是一个开源的覆盖率工具。这里讲下gradle如何配置。
  首先要在项目的build.gradle引入插件,语句如下:
 apply plugin: 'jacoco'
  然后注明使用的版本号
version "0.7.4."
  接着,申明一个gradle task
task jacocoTestReport(type:JacocoReport,dependsOn:"connectedAndroidTest"){
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
xml.enabled = false
html.enabled = true
csv.enabled = false
classDirectories = fileTree(
dir : "$buildDir/intermediates/classes/debug",
excludes : [
'**/*Test.class',
'**/R.class',
'**/R$*.class',
'**/BuildConfig.*',
'**/Manifest*.*'
def coverageSourceDirs = ['src/main/java']
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
additionalClassDirs = files(coverageSourceDirs)
executionData = files("$buildDir/outputs/code-coverage/connected/coverage.ec")
  最后,打开testCoverageEnabled,需要注意的是,打开该属性的话,在断点调试的时候会导致方法参数值丢失(看不到),所以在调试的时候要记得把它关掉。
buildTypes {
testCoverageEnabled true
  完整的gradle配置如下
apply plugin: 'com.android.library'
apply plugin: 'jacoco'
compileSdkVersion 22
buildToolsVersion '22.0.1'
defaultConfig {
minSdkVersion 8
targetSdkVersion 22
versionCode 1
versionName "1.0"
buildTypes {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testCoverageEnabled true
lintOptions {
abortOnError false
packagingOptions {
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
version "0.7.4."
task jacocoTestReport(type:JacocoReport,dependsOn:"connectedAndroidTest"){
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
xml.enabled = false
html.enabled = true
csv.enabled = false
classDirectories = fileTree(
dir : "$buildDir/intermediates/classes/debug",
excludes : [
'**/*Test.class',
'**/R.class',
'**/R$*.class',
'**/BuildConfig.*',
'**/Manifest*.*'
def coverageSourceDirs = ['src/main/java']
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
additionalClassDirs = files(coverageSourceDirs)
executionData = files("$buildDir/outputs/code-coverage/connected/coverage.ec")
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
配置完上面的步骤之后,打开Terminal,并输入命令gradlew jacocoTestReport,回车执行。
之后打开下面的地址,先看下测试结果
从上图,可以看到有些测试用例是没有跑通的,点击之后可以看详情信息
根据提示信息,修改代码,直到测试用例跑通之后,如下图:
然后打开下面的地址,如果测试用例没有全部跑通的话,就不会生成代码覆盖率报告。
我们去查看下,之前跑的测试用例的覆盖率情况
再点击进去的话,可以看到具体有哪些分支路径是没有覆盖到的。
将报告通过邮箱发送给相关人员
  通过上面的步骤,我们已经可以看到了结果报告,但是,我们的主题是持续集成&自动化,所以,还没有全部完成,我们的主角依然是jenkins。所以,接下来要讲的是:通过jenkins项目配置,让程序自动生成报告,并将结果通过邮件发送给相关人员。
  先后会创建“Publish JUnit test result report”、”Record JaCoCo coverage report “、“Publish Android Lint results”。
配置单元测试报告
这时候,报了个错误,说当前路径没有匹配到文件,没关系,因为我们还没有执行命令之前,一些文件夹还没有生成,所以可以先忽略。
配置代码覆盖率报告
主要的几个参数配置,“Path to class directories”配置的是编译后.class文件的路径地址,Android都是放在build路径下build\intermediates\classes;“Path to source directories”配置的是java代码路径。
配置Android Lint报告
Android Lint是Android自带的一个功能,它可以检测一些不规范的写法,并提示。该功能gradle不用配置任何东西,只要执行build之后就会自动生成报告。
上图中不用填写入任何路径,默认的即可。
邮件配置及gradle执行命令的修改
首先,我们先修改下邮件的发送内容。
我们在上一节的基础上,只是新增加了以上3中报告的地址。
接着,还需要修改gradle 执行的命令。
项目的build.gradle修改下
去掉connectedAndroidTest的关联,因为我们已经独立使用命令执行connectedAndroidTest了,所以jenkins服务器在跑job的时候,请确保已经打开了Android模拟器,否则会出错。
查看邮件报告
配置完以上的步骤之后,将代码push到github上,等待jenkins触发构建或者我们手动执行构建都可以。
邮件里增加了配置里相应修改的内容。
注意:因为我的项目是一个lib项目,而在Android里lib项目生成的jar包是一个aar,所以这里的单元测试,我是写在lib项目里,然后构建产物,我也修改为获取aar包,修改如下:
跟着上面的步骤来,我们就已完成了单元测试及代码覆盖率报告的自动化发邮件了,能及时发现错误,这在很大程度上保证了我们的代码是经测试的,是有效可靠的。下一篇,将讲如何使用findbugs插件进行查虫,包括gradle的配置和jenkins的配置,发送findbugs报告到邮箱,更进一步的提高代码质量。
看下其他文章:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:106943次
积分:2138
积分:2138
排名:第13438名
原创:87篇
转载:22篇
评论:107条
阅读:4655
阅读:4947
阅读:8281
(3)(6)(10)(1)(3)(7)(14)(6)(8)(6)(1)(2)(4)(1)(9)(3)(5)(3)(2)(7)(2)(3)(2)(5)(1)(3)下面是某班学生一次数学竞赛的成绩记录单
96(1)根据上面成绩记录单填写下表.
80分-100分优
70分-79分良
60分-69分中
60分以下差
(2)这次竞赛成绩等人数最多,等人数最少.(3)这次竞赛的优等率是%,若差等为不及格,这次竞赛的及格率是%. - 跟谁学
在线咨询下载客户端关注微信公众号
搜索你想学的科目、老师试试搜索吉安
在线咨询下载客户端关注微信公众号&&&分类:下面是某班学生一次数学竞赛的成绩记录单
96(1)根据上面成绩记录单填写下表.
80分-100分优
70分-79分良
60分-69分中
60分以下差
(2)这次竞赛成绩等人数最多,等人数最少.(3)这次竞赛的优等率是%,若差等为不及格,这次竞赛的及格率是%.下面是某班学生一次数学竞赛的成绩记录单
96(1)根据上面成绩记录单填写下表.
80分-100分优
70分-79分良
60分-69分中
60分以下差
(2)这次竞赛成绩等人数最多,等人数最少.(3)这次竞赛的优等率是%,若差等为不及格,这次竞赛的及格率是%.科目:最佳答案解:(1)80-100分有23人,70-79分有7人,60-69分有3人,60分以下有2人;统计表如下:1)根据上面成绩记录单填写下表.
80分-100分优
70分-79分良
60分-69分中
60分以下差
2(2)23>7>3>2;这次竞赛成绩优等人数最多,差等人数最少;(3)优等率:23÷35≈65.7%;不合格率:2÷35=5.7%;合格率:1-5.7%=94.3%.故答案为:23,7,3,2;优,差;65.7,94.3.解析先数出80-100分,70-79分,60-69分,60分以下的各有多少人;然后完成统计表,并根据这些数据进行求解.知识点:&&&&基础试题拔高试题热门知识点最新试题
关注我们官方微信关于跟谁学服务支持帮助中心纸箱订单生产跟踪及完成率考核_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
纸箱订单生产跟踪及完成率考核
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢优步上周奖励要求全部达到满足怎么没拿到奖励怎么办?成单率还有评分都达到要求,有人知道告诉我一声_百度知道更多精彩内容
扫码关注我们
优步接单率怎么算?优步接单率查询图文步骤
来源:网络转载
优步接单率是一种象征着信誉度的模式。当乘客通过优步软件来打车时,如果发现接单率很低的司机,一定会选择过滤掉。那么,怎么查看自己的优
优步接单率是一种象征着信誉度的模式。当乘客通过优步软件来打车时,如果发现接单率很低的司机,一定会选择过滤掉。那么,怎么查看自己的优步接单率呢?通过本文详细步骤,你将会知道优步接单率查询方法。
优步接单率怎么查询?
接单率是司机当周能否获得奖励的重要条件,接单率=当周司机接单数÷当周系统派单数
1、在微信中长按以下二维码或者访问:/mobile进入我们的查询系统
2、输入您注册用手机号
3、在短信收到我们的验证码
4、将验证码填入
5、您将能查询上周的评分、接单率和工作时间
注意:奖励政策发放依据以每周发送的短信为准
注意:您手机终端上显示的总单数,只是给您派单,并且您点击接受过的单子。您未点击漏过的单子不会记录在终端或者司机后台。但在总部系统里记录了您上线的每一个小时系统给您派单的总数量,包括那些您漏过没有点击的单子,接单率按照这个总派单数进行计算。
另:影响接单率的主要因素:
1.司机取消订单 [接单询问乘客目的地后,觉得路线偏僻或拥堵不想去]
2.漏接单子[ 派单之后没有在15秒内接单导致漏单]
【更多相关】:
相关推荐:

我要回帖

更多关于 优步司机怎么查成单率 的文章

 

随机推荐