一、什么是单元测试

单元测试(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. 【刷题】BZOJ 1061 [Noi2008]志愿者招募

    Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完 ...

  2. [UVALive 2678] Subsequence

    图片加载可能有点慢,请跳过题面先看题解,谢谢 在切水题的道路上狂奔,一发不可收拾... 这道题好像不用写什么题解吧,吐个槽什么的算了 一眼题,大佬们都不屑于做,只有我这种弱菜才来写这种题目玩儿 记个前 ...

  3. 模板:插头dp

    前言: 严格来讲有关dp的都不应该叫做模板,因为dp太活了,但是一是为了整理插头dp的知识,二是插头dp有良好的套路性,所以姑且还叫做模板吧. 这里先推荐一波CDQ的论文和这篇博客http://www ...

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

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

  5. linux查看当前文件夹的大小

    1.(方法一)ls -lht会列出当前目录下每个文件的大小,同时也会给出当前目录下所有文件大小总和 [查看谬个文件的大小,] 2.(方法二)du -sh *也会列出当前文件夹下所有文件对应的大小 [把 ...

  6. CODEVS 2171 棋盘覆盖

    2171 棋盘覆盖 给出一张nn(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少12的多米诺骨牌进行掩盖. 错误日志: 直接在模板上调整 \(maxn\) 时没有在相应邻接表数 ...

  7. ROI POOLING 介绍

    转自 https://blog.csdn.net/gbyy42299/article/details/80352418 Faster rcnn的整体构架: 训练的大致过程: 1.图片先缩放到MxN的尺 ...

  8. 科学计算三维可视化---TVTK库可视化实例

    一:TVTK库可视化实例 Plot3D文件知识:PLOT3D 数据格式 PLOT3D文件分为网格文件(XYZ 文件), 空气动力学结果文件 (Q 文件)和通用结果文件(函数文件 + 函数名称文件).网 ...

  9. 邮件中的CC和BCC含义

    CC 英文全称是 Carbon Copy(抄送);BCC英文全称是 Blind CarbonCopy(暗抄送). 两者的区别在于在BCC栏中的收件人可以看到所有的收件人名(TO,CC,BCC),而在T ...

  10. JavaScript中函数和构造函数的区别

    构造函数也是函数 构造函数和其它函数的唯一区别: 构造函数是通过new操作符来调用的. 也就是说如果构造函数不用new操作符来调用,那它就是普通函数,反过来说任何函数通过new操作符来调用就可以当做构 ...