zoukankan      html  css  js  c++  java
  • Junit单元测试概念(测试语言Java)

     一、单元测试概念

     1. 什么是的单元测试

    •  单元测试是针对最小的功能单元编写测试代码
    • java程序最小的功能单元式方法
    •  单元测试就是针对单个Java方法的测试

    2. 使用main()方法测试的缺点

    • 只能有一个main()方法,不能把测试代码分离
    • 没有打印出测试结果和期望结果
    • 例如: expected:63533,but actual:89653
    • 那么此时就需要一种测试框架,帮助我们编写测试

     3. 单元测试的好处

    • 确保单个方法运行正常
    •  如果修改了方法代码,只需要确保其对应的单元测试通过
    • 测试代码本身就可以作为示例代码
    •  可以自动化所有测试并获得报告


    4. JUnit介绍

    • JUnit是一个开源的Java语言的单元测试框架
    • 专门针对Java语言设计,使用最广泛
    • JUnit是实际上的标准单元测试框架

    4. JUnit特点 使用断言(Assertion)测试期望结果

    •  可以方便地组织和运行测试
    •  可以方便地查看测试结果
    •  常用IDE(例如Eclipse)都集成了JUnit
    •  可以方便的集成到Maven

     5. JUnit的设计

    • TestCase:一个TestCase表示一个测试
    •  TestSuite:一个TestSuite包含一组TestCase,表示一组测试
    •  TestFixture:一个TestFixture表示一个测试环境
    •  TestResult:用于收集测试结果
    •  TestRunner:用于运行测试
    •  TestListener:用于监听测试过程,收集测试数据
    •  Assert:用于断言测试结果是否正确

     6. 使用Assert断言

    • 断言相等:assertEquals(期望值,测试结果)
    • 断言数组相等:assertArrayEquals((1,2,3),x)
    • 浮点数断言相等:assertEquals(3.1412,X,0.00001)
    • 断言为null:assertNull(x)
    • 断言为true/false:assertTrue(x>0) assertFalse(x<0)
    • 其他:assertNotEquals/assertNotNull

    7. Junit单元测试需要注意的点

    •  一个TestCase包含一组相关的测试方法
    • 使用Assert断言测试结果(注意浮点数assertEquals要指定delta)
    •  每个测试方法必须完全独立
    • 测试代码必须非常简单
    • 不能为测试代码再编写测试
    •  测试需要覆盖各种输入条件,特别是边界条件
  • 相关阅读:
    C#3.0入门系列(八)之GroupBy操作
    C#3.0入门系列(七)之OR工具介绍
    C#3.0入门系列(九)之GroupBy操作
    C#3.0入门系列(十二)Lambda表达式中Lifting
    C# 3.0入门系列(四)之Select操作
    图示offsetWidth clientWidth scrollWidth scrollTop scrollLeft等属性的细微区别
    C# 3.0入门系列(二)
    一步一步学Linq to sql(四):查询句法
    Linq To Sql进阶系列
    Linq To Sql进阶系列(二)M:M关系
  • 原文地址:https://www.cnblogs.com/lsy2019/p/12313017.html
Copyright © 2011-2022 走看看