更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢!

原文链接:http://www.cnblogs.com/zishi/p/6762032.html

Junit测试代码编写命名规范

测试类的命名定义规范

Junit自动生成测试类的命名如下:被测试的业务+Test、被测试的接口+Test、被测试的类+Test
类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写,如TestMobileBind。如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample。
比如你需要测试业务MobileBind ,那么它的测试类的命名就是TestMobileBind
比如你需要测试接口GetMobileBind ,那么的测试类的命名就是TestGetMobileBind
比如你需要测试类SetMobileBind.class,那么他的测试类的命名就是TestSetMobileBind

测试用例的命名定义规范

测试用例的命名规则是:test+用例操作。
单词的约定与测试类命名相同。如:testSetMobileBind
比如要测试的用例是“数据库用户信息不存在时,获取Mobile绑定消息”,那么它的测试用例名称就是testSetMobileBind

测试程序的包名定义规范

测试程序包的命名规则是:com.test.skymobi.项目名;测试公共类包的命名规则是:com.test.skymobi.common
java包的名称都是由小写字母组成。
测试项目,比如被测试的项目是skyups,那么测试类的包名就是com.test.skymobi.skyups。
测试开发包,比如被测试类的包名是com.skymobi.util,那么测试类的包名就是com.test.skymobi.util。

变量的命名规范

测试程序的变量名均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写
例如:MaxValue
变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。
变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性的临时变量。

常量的命名规范

测试程序的常量名应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
例如:MAX_VALUE

选择测试粒度的原则

被测试类中所有public、protected方法都要测到
对于简单的set和get方法没有必要做测试

Junit关于编写代码的最佳实践

减少依赖关系
创建简单的构造函数
遵循最少知识原则(迪米特法则 Law of Demeter)
避免隐藏的依赖关系与全局状态
谨慎使用单例模式(singleton)
优先使用通用方法
组合优先于继承
多态优先于条件语句

本规范未说明的其它命名规范请参照《JAVA语言编码规范》(ENO-W063-JAVA Coding Rule.doc)

附录:参考文档一览
Digester文档                                 http://jakarta.apache.org/commons/digester/
JAVA语言编码规范                          ENO-W063-JAVA Coding Rule.doc
JUnit官方网站                                http://www.junit.org/
《Junit实战》(第2版)人民邮电出版社

作者原创技术文章,转载请注明出处

推荐相关阅读:

单元测试系列:Mock工具之Mockito实战

单元测试系列:JUnit单元测试规范

单元测试系列:Mock工具Jmockit使用介绍

单元测试系列:JUnit单元测试规范的更多相关文章

  1. Android系列----JUnit单元测试的使用

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  2. 单元测试系列之三:JUnit单元测试规范

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6762032.html Junit测试代 ...

  3. 单元测试系列:如何使用JUnit+JaCoCo+EclEmma完成单元测试

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢!   原文链接:http://www.cnblogs.com/zishi/p/6726664.html -----如 ...

  4. 单元测试系列之一:如何使用JUnit、JaCoCo和EclEmma提高单元测试覆盖率

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢!   原文链接:http://www.cnblogs.com/zishi/p/6726664.html -----如 ...

  5. 单元测试系列:Mock工具之Mockito实战

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6780719.html 在实际项目中写单 ...

  6. 单元测试系列:Mock工具Jmockit使用介绍

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6760272.html Mock工具Jm ...

  7. 单元测试系列之五:Mock工具之Mockito实战

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6780719.html 在实际项目中写单 ...

  8. 单元测试系列之十一:Jmockit之mock特性详解

    本文是Jmockit学习过程中,根据官网所列的工具特性进行解读. 1.调用次数约束(Invocation count constraints) 可以通过调用计数约束来指定预期和/或允许匹配给定期望的调 ...

  9. 单元测试系列之十:Sonar 常用代码规则整理(二)

    摘要:帮助公司部署了一套sonar平台,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分析,避免再次出现类似问题. 作者原创技术文章,转载请注明出处 ======== ...

随机推荐

  1. cobaltstrike安装加破解教程+使用教程

    1.先安装java环境= = 1. 下载1.8u121的JAVA JDK (新的java JDK不稳定)!!原因:https://blog.cobaltstrike.com/2017/04/26/ja ...

  2. BZOJ:4827: [Hnoi2017]礼物

    [问题描述] 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一个送给她.每个手环上各有 n 个装饰物,并且每个装饰物都有一定的亮度. 但是在她生日的 ...

  3. HDU 2502 月之数(二进制,规律)

    月之数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. 51Nod 1003 阶乘后面0的数量(数学,思维题)

    1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720 ...

  5. Codeforces Round #336 (Div. 2)-608A.水题 608B.前缀和

    A题和B题...   A. Saitama Destroys Hotel time limit per test 1 second memory limit per test 256 megabyte ...

  6. net+Oracle开发过程中遇到的小问题

    最新的项目开始使用Oracle后,5个月之间遇到一些在SqlServer中没有遇到的问题,这里记录并贴上一些常用的解决办法. Oracle相关 一.数据库不同版本还原: 刚开始我们一直使用Oracle ...

  7. 使用 SVG 和 JS 创建一个由星形变心形的动画

    序言:首先,这是一篇学习 SVG 及 JS 动画不可多得的优秀文章.我非常喜欢 Ana Tudor 写的教程.在她的教程中有大量使用 SVG 制作的图解以及实时交互 DEMO,可以说教程的所有细枝末节 ...

  8. Java应用开发中的字符集与字符编码

    事出有因 在向HttpURLConnection的输出流写入内容时,因没有设置charset,导致接收方对数据的验签不一致. URL url = new URL(requestUrl); //打开连接 ...

  9. js闭包的真正理解

    <高级程序设计>上,这样说:当在函数内部定义了其他函数时候,就创建了闭包.闭包有权访问包含函数内部的所有变量. 这个说的太晦涩了,而且我觉得很容易理解错,闭包就是一个嵌套函数嘛?但是我觉得 ...

  10. Vue.js实现一个SPA登录页面的过程

    技术栈 vue.js 主框架 vuex 状态管理 vue-router 路由管理 一般过程 在一般的登录过程中,一种前端方案是: 检查状态:进入页面时或者路由变化时检查是否有登录状态(保存在cooki ...