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(); } }
原文地址:https://www.cnblogs.com/zhoumiao/p/7743191.html