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

    什么是单元测试

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

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

    不能一起运行!
    大多数情况下需要人为的观察输出确定是否正确
    为什么要进行单元测试

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

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

    JUnit4 HelloWorld

    需要导入JUnit和hamcrest包

    new project
    建立类
    建立testcase
    assertThat
    使用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

    Failure是指测试失败
    Error是指测试程序本身出错
    JUnit4 Annotation

    @Test: 测试方法
    a) (expected=XXException.class)

    b) (timeout=xxx)

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

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

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

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

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

    运行多个测试

    注意

    遵守约定,比如:
    a) 类放在test包中

    b) 类名用XXXTest结尾

    c) 方法用testMethod命名

    其他框架

    TestNG

  • 相关阅读:
    inndo 表与存储逻辑_1
    msyql master thread
    redo log重做日志缓冲
    redo log 重做日志
    Latex 写算法伪代码
    Just for test
    ASP.NET Web API 2 OData v4教程
    MVC系统过滤器 OutputCacheAttribute
    MVC系统过滤器、自定义过滤器
    .NET如何从配置文件中获取连接字符串
  • 原文地址:https://www.cnblogs.com/wwwcnblogscom/p/7883762.html
Copyright © 2011-2022 走看看