JUnit - 测试框架

什么是 Junit 测试框架?

JUnit 是一个回归测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量。JUnit 测试框架能够轻松完成以下任意两种结合:

Eclipse 集成开发环境
Ant 打包工具
Maven 项目构建管理

特性

JUnit 测试框架具有以下重要特性:

测试工具
测试套件
测试运行器
测试分类 测试工具是一整套固定的工具用于基线测试。测试工具的目的是为了确保测试能够在共享且固定的环境中运行,因此保证测试结果的可重复性。它包括:
在所有测试调用指令发起前的 setUp() 方法。
在测试方法运行后的 tearDown() 方法。

例子

import junit.framework.*;

public class JavaTest extends TestCase {
protected int value1, value2; // assigning the values
protected void setUp(){
value1=3;
value2=3;
} // test method to add two values
public void testAdd(){
double result= value1 + value2;
assertTrue(result == 6);
}
}

测试套件

import org.junit.runner.RunWith;
import org.junit.runners.Suite; //JUnit Suite Test
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestJunit1.class ,TestJunit2.class
})
public class JunitTestSuite {
}
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals; public class TestJunit1 { String message = "Robert";
MessageUtil messageUtil = new MessageUtil(message); @Test
public void testPrintMessage() {
System.out.println("Inside testPrintMessage()");
assertEquals(message, messageUtil.printMessage());
}
}
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals; public class TestJunit2 { String message = "Robert";
MessageUtil messageUtil = new MessageUtil(message); @Test
public void testSalutationMessage() {
System.out.println("Inside testSalutationMessage()");
message = "Hi!" + "Robert";
assertEquals(message,messageUtil.salutationMessage());
}
}

测试运行器 测试运行器 用于执行测试案例

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure; public class TestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(TestJunit.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}

测试类的命名定义规范

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

测试用例的命名规则是:test+用例操作_状态。

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

3.测试程序的包名定义规范

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

4.变量的命名规范

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

5.常量的命名规范

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

2018.8.2 Juint测试介绍及其命名的规范的更多相关文章

  1. Web测试介绍2一 安全测试

            安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程. 主要安全需求包括: (i) 认证 Authent ...

  2. 记2018/4/29 qbxt 测试

    记 2018/4/29  qbxt 测试(提高基础班) 简单的 NOIP 模拟赛 竞赛时间: 2018 年 4 月 29 日 13:30-17:00 题目名称 乘法 求和 计数 输入文件名 mul.i ...

  3. [原创]浅谈H5页面测试介绍

    [原创]浅谈H5页面测试介绍 目前移动互联网非常火热,除了各种App,H5也是非常热,由于H5跨平台,且版本更新容易,做为引流或获客是非常好的一种简单低成本平台:今天来谈谈H5页面测试都要测试什么? ...

  4. [原创]用Charles模拟App各种网络带宽测试介绍

    [原创]用Charles模拟App各种网络带宽测试介绍 相信每个测试在进行自己公司App测试时,都会碰到一个问题,如何去模拟各种App在各种带宽下的测试情况,估计很少有公司直接去采用2g/3g/4g卡 ...

  5. [原创]互联网金融App测试介绍

    [原创]互联网金融App测试介绍 前端时间非常忙,终于非常忙的时间过去了,抽时间总结下我现在所在公司理财软件App测试,也各位分享下,也欢迎大家提建议,谢谢! 先介绍下我所在公司的产品特点,公司所研发 ...

  6. Juint测试

    添加"Juint测试"组件: 之后不用写在main方法里面便可以直接测试:

  7. apache ab测试介绍

    apache ab测试介绍 安装ab命令 环境为ubuntu16.04.2 LTS,安装的命令为: sudo apt-get install apache2-utils 使用说明 格式为:ab [op ...

  8. 2018/8/21 qbxt测试

    2018/8/21 qbxt测试 期望得分:0? 实际得分:0 思路:manacher   会写模板但是不会用 qwq 听了某人的鬼话,直接输出0,然后就gg了 #include <cstdio ...

  9. 2018/8/15 qbxt 测试

    2018/8/15 qbxt 测试 期望得分:100:实际得分:50   不知道为什么写挂了,明明是个水题 T^T 思路:模拟 注意:如果用 char 类型存储的话,如果有'z' + 9 会爆char ...

随机推荐

  1. yii2下的路由重写

    1.在config/main.php中添加配置信息 文件位置如图所示(图中展示的是backend下的config,也可以在fronted和common的config中添加) 配置的代码标准格式如下 ' ...

  2. 基于webpack的vue项目路径别名

    在vue的项目里,我们可以使用../这样的相对路径的方式引用不同目录的组件: import userinfo from '../../../components/userinfo.vue'; 使用.. ...

  3. Android文件/文件夹选择器(支持多选操作),已封装为lib库,直接添加依赖即可。

    话不多少,先上图一览: 接下来我们开始写个app测试: 1.新建Android工程:FileSelectorTest 2.更改MainActivity: 在里面写四个textview模拟button, ...

  4. JavaSE---Collections

    1.简介: Collections是一个工具类 1.1 排序 a,正序  sort是其静态方法,有2种参数形式: public static <T extends Comparable<? ...

  5. 自动化构建工具maven

    Maven是目前最流行的自动化构建工具,对于生产环境下多框架.多模块整合开发有重要作用.Maven 是一款在大型项目开发过程中不可或缺的重要工具. 一.什么是构建? 构建并不是创建,创建一个工程并不等 ...

  6. android studio NDK配置

    向您的项目添加 C 和 C++ 代码 本文内容 下载 NDK 和构建工具 创建支持 C/C++ 的新项目 构建和运行示例应用 向现有项目添加 C/C++ 代码 创建新的原生源文件 创建 CMake 构 ...

  7. maya2015安装失败如何卸载重装

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  8. ColorCtr控制颜色渐变

    ColorCtr控制颜色渐变 public class ColorCtr : MonoBehaviour { public static global_color Instance;         ...

  9. Windows 2008 R2 防火墙允许Serv-U通过的方法

    在Windows 2008 R2上安装了Serv-U FTP服务端软件之后,无法通过客户端连接,究其原因是Windows 2008的防火墙没有开启FTP端口,而且在防火墙上添加Serv-U程序也不行, ...

  10. RMAN参数详解

    在Oracle 10g中的配置情况使用RMAN>show all;可以显示出RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # d ...