一、什么是单元测试

单元测试(Unit  Testing)是指在计算机编程中,针对程序模块来进行正确性检验的测试工作。
单元测试的特点如下:

※ 程序单元是应用最小的可测试部件,通常采用基于类或者类的方法进行测试

※ 程序单元和其他单元是相互独立的。

※ 单元测试的执行速度很快。

※ 单元测试发现的问题,相对容易定位。

※ 单元测试通常由开发人员完成

※ 通常称为白盒测试。

速记关键词:针对类、速度快、好定位

二、安装JUnit

1、启动Eclipse,新建一个java工程,名字为FirstPrj;

2、在新建工程名称上单击鼠标右键,在弹出快捷键菜单中选择“Properties”;

3、弹出当前工程的属性对话框,选择“Java Build Path”选项,单击“Libraries”标签栏,单击“Add Library”按钮,如下图

4、在弹出的“Add Library”对话框中,选择“JUnit”选项,单击“Next”按钮

5、在弹出的“JUnit Library”对话框中,单击“Finish”按钮

6、在“Java Build Path”对话框中,显示JUnit图标表示引入JUnit4成功

三、测试注解

通过Eclipse的JUnit Test Case 向导,可以自动生成测试框架方法,每个方法上均含有一个@字符的关键字描述,此关键字为JUnit4新增的注解(Annotation)功能,每个注解关键字都有其自身含义。

@BeforeClass  :表示此注解的方法在测试类被调用之前完成 ,在一个测试类中只能声明此注解一次,次注解对应的方法只能被执行一次。

@AfterClass :表示使用此注解的方法在测试类被调用结束退出之前执行,在一个测试类中只能声明此注解一次,并且此注解对应的方法只能被执行一次。

@Before :表示此注解的方法在每个@Test调用之前被执行,即一个类中有多少个@Test注解方法,那么@Before注解方法会被调用多少次

@After :表示此注解的方法在每个@Test调用结束之后被执行,即一个类中有多少个@Test注解方法,那么@After注解方法会被调用多少次

@Test :表示使用此注解的方法为一个单元测试用例,在一个测试类中可以多次声明此注解,每个注解为@Test的方法只被执行一次

@Ignore:表示使用此注解方法为暂时不执行的测试用例方法,会被忽略

@Test(timeout=2000) :表示此用例执行时间不能超过2000毫秒

@Test(expected=ArithmeticException.class):表示此方法执行后,必须抛出ArithmeticException异常错误才能认为测试用例执行成功

速记:BeforeClass、AfterClass 类前、类后只执行一次

   Before、After 方法前、方法后执行,方法执行它执行

   Test 为一个单元测试用例

四、测试套以及使用JUnit编写WebDriver脚本

1、在测试工程上右键,在弹出的快捷菜单中选择“NEW”——>“Other”命令

2、在弹出的对话框中选中“JUnit”下的“JUnit Test Suite”选项,在单击“Next”按钮

3、弹出“New JUnit Test Suite”对话框,选中需要测试的类,单击“Finish”按钮

测试套其实就是一个个测试类的集合

使用Junit编写WebDriver脚本

package cn.gloryroad;
import org.openqa.selenium*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.junit.After;
import org.junit.before;
import org.junit.test;
public class FirstJunit{
public WebDriver driver;
String baseUrl = "http://www.sogou.com/"; @Before
public void setUp() throws Exception{
//若无法打开浏览器,可直接设置firefox的路径
System.setProperty("webdriver.firefox.bin","c:\\Program Fires(X86)\\Mozilla Firefox\\firefox.exe");
driver=new FirefoxDriver();
} @After
public void tearDown() throws Exception{
driver.quit();
} @Test
public void test(){
//打开网页
driver.get(baseUrl+"/");
//在搜索框中输入"selenium测试"
driver.findElement(By.id("query")).sendKeys("selenium测试");
//点击搜索按钮
driver.findElement(By.id("stb")).click();
}
}

JUnit基本介绍的更多相关文章

  1. 【原创】Junit4详解一:Junit总体介绍

    Junit是一个可编写重复测试的简单框架,是基于Xunit架构的单元测试框架的实例.Junit4最大的改进是大量使用注解(元数据),很多实际执行过程都在Junit的后台做完了,而且写test case ...

  2. junit基本介绍视频笔记1

    程序员每天工作的基本流程: 1.从svn检出代码: 2.运行单元测试,测试无误,进入下一步: 3.开始一天的代码编写工作: 4.代码提交到服务器之前进行单元测试: 5.单元测试通过提交到svn服务器. ...

  3. 单元测试利器 JUnit 4

    引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...

  4. [转]单元测试利器 JUnit 4

    引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...

  5. 1.Android JUnit Runner(使用AndroidStudio)

    一.Android JUnit Runner介绍 1.Android JUnit Runner 1)是一个测试运行器,用于运行Junit3和Junit4的Android测试包 2)替换Instrume ...

  6. 泛型、Junit

    一. 泛型 1.泛型的好处 **1)编译时,检查添加元素的类型,提高了安全2)减少了类西较换的次数,提高效率 不使用泛型Dog -> Object -> Dog //放入到ArrayLis ...

  7. 《精通移动app测试实战:技术、工具和案例》图书目录

    图书相关链接: 京东网:http://item.jd.com/11891239.html 当当网:http://product.dangdang.com/23924601.html 亚马逊:https ...

  8. 传智播客JavaWeb day01 快捷键、XML

    2015-01-14 一直计划着学习java,今天晚上终于下定决心看了下传智播客朴乾老师的javaweb开发视频day01之第一讲,主要内容是开发工具简单介绍.怎么创建工程.Junit的介绍,我是C# ...

  9. 单元测试利器JUnit4

    引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...

随机推荐

  1. POJ 3469 Dual Core CPU Dual Core CPU

    Time Limit: 15000MS   Memory Limit: 131072K Total Submissions: 23780   Accepted: 10338 Case Time Lim ...

  2. CF1009F Dominant Indices 解题报告

    CF1009F Dominant Indices 题意简述 给出一颗以\(1\)为跟的有根树,定义\(d_{i,j}\)为以\(i\)为根节点的子树中到\(i\)的距离恰好为\(j\)的点的个数,对每 ...

  3. 单点登录(六)-----遇到问题-----cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of pr

    cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of project 'cas-server-cor ...

  4. 从function的定义看JavaScript的预加载

    在JavaScript中定义一个函数,有两种写法: function ftn(){} // 第一种 var ftn = function(){} // 第二种 有人说,这两种写法是完全等价的.但是在解 ...

  5. Controller向View传值方式总结

    http://www.cnblogs.com/guohu/p/4377974.html 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag Vi ...

  6. (三)论sizeof与strlen之间的区别

    一.sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组.指针.类型.对象.函数等.    它的功能是:获得保 ...

  7. WHY C++ ?(by Herb Sutter) & C++17 standard

    WHY C++ ? C++

  8. 【Asp.net入门4-03】条件断点

  9. Android Studio 安装在Windows10中的陷阱

    操作系统:Windows 10 Pro CPU:AMD IDE:Android Studio 2.0 JDK:8.0 安装完AS(Android Studio)之后,运行AS发现无法启动模拟器,提示“ ...

  10. Java入门:练习——自定义通用工具类

    请编写一个通用工具类,该类具有如下功能: 1)判断一个字符串是否是邮箱地址 2)判断一个字符串是否是手机号码 3)判断一个字符串是否是电话号码 4)判断一个字符串是否是IP地址 代码结构如下,请补充完 ...