zoukankan      html  css  js  c++  java
  • Junit

    来自单元测试学习文档

    为什么要进行单元测试

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

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

    JUnit4 HelloWorld

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

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

    a) 更自然

    1. 示例

    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" ) );

    FailureError

    1. Failure是指测试失败
    2. Error是指测试程序本身出错
    3. @Test: 测试方法

    JUnit4 Annotation

    a) (expected=XXException.class)

    b) (timeout=xxx)

    1. @Ignore: 被忽略的测试方法
    2. @Before: 每一个测试方法之前运行
    3. @After: 每一个测试方法之后运行
    4. @BeforeClass: 所有测试开始之前运行
    5. @AfterClass: 所有测试结束之后运行
    6. 遵守约定,比如:

    运行多个测试

    注意

    a) 类放在test包中

    b) 类名用XXXTest结尾

    c) 方法用testMethod命名

    其他框架

    TestNG

  • 相关阅读:
    [手游项目2]-25-linux 端口time_wait
    [手游项目2]-24-linux MySql编译安装
    诛仙手游法宝铸元性价比
    法宝精进性价比对比
    [手游项目2]-23-游戏数据存储解决方案
    [手游项目2]-22-lua内存问题
    [手游项目2]-21-死循环排查
    [手游项目2]-20-mysql还原一个库的部分数据
    [手游项目2]-19-EError=1118, Reason=Row size too large (> 8126)
    bzoj1471
  • 原文地址:https://www.cnblogs.com/dfguo/p/6888706.html
Copyright © 2011-2022 走看看