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

原文链接: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版)人民邮电出版社

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

其他推荐相关阅读:

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

测试系列之二:Mock工具Jmockit实战

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

单元测试系列之四:Sonar平台中项目主要指标以及代码坏味道详解

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

单元测试系列之六:JUnit5 技术前瞻

单元测试系列之七:Sonar 数据库表关系整理一(rule相关)

单元测试系列之八:Sonar 数据库表关系整理一(续)

单元测试系列之九:Sonar 常用代码规则整理(一)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 摘要:公司部署了一套sonar,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分 ...

随机推荐

  1. OOD之问题空间到解空间—附FP的建模

    通常会被问到,什么事OOD,然后大部分人期待的答案比较死板,继承.封装.多态!懂这个的人多的去了,有什么好问?回答出来的人是否拿着Java又去做一些面向过程的勾当? 计算机革命起源于机器,因此编程语言 ...

  2. vim 命令补充(1)

    本篇文章主要教你如何使用 Vim 分屏功能. 分屏启动Vim 使用大写的O参数来垂直分屏. vim -On file1 file2 ... 使用小写的o参数来水平分屏. vim -on file1 f ...

  3. GCD与LCM

    求最大公约数(GCD)和求最小公倍数(LCM): 首先是求最大公约数,我们可以利用辗转相除法来求 1 int gcd(int a,int b) 2 { 3 if(b==0) 4 return a; 5 ...

  4. Web开发——JavaScript基础(JSON教程)

    参考: JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更 ...

  5. dex2jar反编译dex文件

    apk实际是一组文件的压缩包,修改为zip或rar后直接解压可以看到其内部内容,其中classes.dex就是java代码编译后的结果 dex2jar可以实现对该文件的反编译 dex2jar镜像地址: ...

  6. linux下yum安装及配置

    1 2 3 4 分步阅读 公司使用的是linux搭建服务器,linux安装软件能够使用yum安装依赖包是一件非常简单而幸福的事情,所以这里简单介绍一下linux安装yum源流程和操作. 工具/原料 电 ...

  7. Docker入门4------Dockerfile

    转自:https://www.cnblogs.com/jsonhc/p/7766841.html https://www.cnblogs.com/jsonhc/p/7767669.html Docke ...

  8. python 当前时间多加一天、一小时、一分钟

    datetime模块 import datetime # 获取当前时间 print(datetime.datetime.now()) # 2017-07-15 15:01:24.619000 # 格式 ...

  9. pat 1051Pop Sequence

    模拟栈的过程,一开始我是用的cin来判断每行的每一个数字,然后判断回车结束.有一个点会超时,答案用数组先记录序列的方法非常好.有一个注意点就是访问s.top()的时候先要保证s.size()>0 ...

  10. QCon2019全球软件开发大会广州站即将来袭

    QCon广州2019|全球软件开发大会 会议时间:2019-05-25 08:00至 2019-05-28 18:00结束 会议地点: 广州  广州万富希尔顿酒店  中国广州市白云区云城东路515-5 ...