• 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(); } }
  • 相关阅读:
    ASP.NET Core 2.2 : 二十七. JWT与用户授权(细化到Action)
    ASP.NET Core 2.2 : 二十六. 应用JWT进行用户认证及Token的刷新
    ASP.NET Core 发布到Linux需要注意的地方
    小程序根据数字做for循环
    Visual Studio 2019 正式版 更新内容
    CodeSmith 二、多模板按目录树批量自动生成代码
    CodeSmith 一、连接Mysql
    ASP.NET Core 2.2 十九. Action参数的映射与模型绑定
    ASP.NET Core 2.2 十八.各种Filter的内部处理机制及执行顺序
    ASP.NET Core 2.2 : 十七.Action的执行(Endpoint.RequestDelegate后面的故事)
  • 原文地址:https://www.cnblogs.com/zhoumiao/p/7743191.html
Copyright © 2020-2023  润新知