JUnit基本介绍
一、什么是单元测试
单元测试(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基本介绍的更多相关文章
- 【原创】Junit4详解一:Junit总体介绍
Junit是一个可编写重复测试的简单框架,是基于Xunit架构的单元测试框架的实例.Junit4最大的改进是大量使用注解(元数据),很多实际执行过程都在Junit的后台做完了,而且写test case ...
- junit基本介绍视频笔记1
程序员每天工作的基本流程: 1.从svn检出代码: 2.运行单元测试,测试无误,进入下一步: 3.开始一天的代码编写工作: 4.代码提交到服务器之前进行单元测试: 5.单元测试通过提交到svn服务器. ...
- 单元测试利器 JUnit 4
引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...
- [转]单元测试利器 JUnit 4
引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...
- 1.Android JUnit Runner(使用AndroidStudio)
一.Android JUnit Runner介绍 1.Android JUnit Runner 1)是一个测试运行器,用于运行Junit3和Junit4的Android测试包 2)替换Instrume ...
- 泛型、Junit
一. 泛型 1.泛型的好处 **1)编译时,检查添加元素的类型,提高了安全2)减少了类西较换的次数,提高效率 不使用泛型Dog -> Object -> Dog //放入到ArrayLis ...
- 《精通移动app测试实战:技术、工具和案例》图书目录
图书相关链接: 京东网:http://item.jd.com/11891239.html 当当网:http://product.dangdang.com/23924601.html 亚马逊:https ...
- 传智播客JavaWeb day01 快捷键、XML
2015-01-14 一直计划着学习java,今天晚上终于下定决心看了下传智播客朴乾老师的javaweb开发视频day01之第一讲,主要内容是开发工具简单介绍.怎么创建工程.Junit的介绍,我是C# ...
- 单元测试利器JUnit4
引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...
随机推荐
- [洛谷P5216]DLS 采花
题目大意:有$n$个数,任意排列,排列后第$i$个数会产生贡献当且仅当$1\sim i-1$中的数不是它的因子,问所有排列的贡献和 题解:发现一个数要产生贡献要求所有它的因子在它的右边,设有$cnt_ ...
- php将两张身份证图片合并到一张图
/** * @desc 合并身份证的正反面到同一张图片 * @author Jimmy * @date 2016-12-33 * @param $imageSrc0 身份证正面 * @param $i ...
- HEOI2015小L的白日梦
题面链接 洛咕 sol 为什么网上面只有神仙题解啊!!! 引起我这种蒟蒻不适QAQ. 性质证明留给巨佬 然后我只贴性质了QwQ. 1.一定存在最优解每一天不高兴的概率是单调不增的. 2.一定存在最优解 ...
- BZOJ 4898 [APIO2017] 商旅 | SPFA判负环 分数规划
BZOJ 4898 [APIO2017] 商旅 | SPFA判负环 分数规划 更清真的题面链接:https://files.cnblogs.com/files/winmt/merchant%28zh_ ...
- 网络对抗课题4.3.1 SQL注入原理与实践
网络对抗课题4.3.1 SQL注入原理与实践 原理 SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞.也就是,在输入字符串中嵌入SQL指令,在设计程序中忽略对可能构成攻击的特殊字符 ...
- uoj50【UR#3】链式反应
题解: 令$a(x)$为破坏死光的$EFG$,$f(x)$为方案的$EGF$:$f(x) = x + \int \ \frac{1}{2} f^2(x) a(x) \ dt$; 注意到$f(0)= ...
- POI上传,导入excel文件到服务器1
首先说一下所使用的POI版本3.8,需要用的的Jar包: dom4j-1.6.1.jarpoi-3.8-20120326.jarpoi-ooxml-3.8-20120326.jarpoi-ooxml- ...
- python基础之面向对象02
---继承 当我们定义完成某个类时,可以再定义一个新类,新类可以继承第一个类.新类被称为子类,而被继承的类称为父类/基类/超类. 继承就是子类继承父类的属性和方法(注意是类属性和类方法). 继承可以使 ...
- linux网络编程框架
OSI七层模型与TCP四层模型 OSI七层模型与TCP四层模型 BS和CS服务器架构 (1)CS架构介绍(client server,客户端服务器架构)(2)BS架构介绍(broswer server ...
- HDU 1525 类Bash博弈
给两数a,b,大的数b = b - a*k,a*k为不大于b的数,重复过程,直到一个数为0时,此时当前操作人胜. 可以发现如果每次b=b%a,那么GCD的步数决定了先手后手谁胜,而每次GCD的一步过程 ...