zoukankan      html  css  js  c++  java
  • JUnit单元测试入门

    什么是单元测试

    写了个类,要给别人用,会不会有bug?怎么办?测试一下。

    用main方法测试好不好?不好!

    1. 不能一起运行!
    2. 大多数情况下需要人为的观察输出确定是否正确

    为什么要进行单元测试

    重用测试,应付将来的实现的变化。

    提高士气,明确知道我的东西是没问题的。

    JUnit4 HelloWorld

       需要导入JUnit和hamcrest包

    1. new project
    2. 建立类
    3. 建立testcase
    4. assertThat
    5. 使用hamcrest的匹配方法

    放弃旧的断言,使用hamcrest断言

    a)        

    assertThat( n, allOf( greaterThan(1), lessThan(15) ) );
    assertThat( n, anyOf( greaterThan(16), lessThan(8) ) );
    assertThat( n, anything() );
    assertThat( str, is( "bjsxt" ) );
    assertThat( str, not( "bjxxt" ) );

    b)       

    assertThat( str, containsString( "bjsxt" ) );
    assertThat( str, endsWith("bjsxt" ) );
    assertThat( str, startsWith( "bjsxt" ) );
    assertThat( n, equalTo( nExpected ) );
    assertThat( str, equalToIgnoringCase( "bjsxt" ) );
    assertThat( str, equalToIgnoringWhiteSpace( "bjsxt" ) );

    c)        

    assertThat( d, closeTo( 3.0, 0.3 ) );
    assertThat( d, greaterThan(3.0) );
    assertThat( d, lessThan (10.0) );
    assertThat( d, greaterThanOrEqualTo (5.0) );
    assertThat( d, lessThanOrEqualTo (16.0) );

    d)       

    assertThat( map, hasEntry( "bjsxt", "bjsxt" ) );
    assertThat( iterable, hasItem ( "bjsxt" ) );
    assertThat( map, hasKey ( "bjsxt" ) );
    assertThat( map, hasValue ( "bjsxt" ) );

    Failure和Error

    1. Failure是指测试失败
    2. Error是指测试程序本身出错

    JUnit4 Annotation

    1. @Test: 测试方法

                  a)   (expected=XXException.class)

                  b)   (timeout=xxx)

            2.@Ignore: 被忽略的测试方法

            3.@Before: 每一个测试方法之前运行

            4.@After: 每一个测试方法之后运行

            5.@BeforeClass: 所有测试开始之前运行

            6.@AfterClass: 所有测试结束之后运行

    运行多个测试

    注意

    1. 遵守约定,比如:

                 a) 类放在test包中

                 b) 类名用XXXTest结尾

                 c) 方法用testMethod命名

    其他框架

    TestNG

    笔记来源:尚学堂

  • 相关阅读:
    Java 获取本机IP
    IDEA2017.3.1破解激活
    java访问https绕过证书信任
    windows版nginx+ftp实现图片服务器的搭建
    json转字符串,json转list,json转pojo的工具类
    文件上传到ftp服务工具类
    一个servlet处理多个功能
    一二级栏目的查询
    后台接收URL地址的参数
    SSH邮箱验证与激活
  • 原文地址:https://www.cnblogs.com/LancyWu/p/7874213.html
Copyright © 2011-2022 走看看