zoukankan      html  css  js  c++  java
  • unittest 介绍

    框架的英文单词是"Framework",框架是未解决一个或一类问题而开发的产品,用户一般只需要使用框架提供的类或函数,便可实现全部功能.

    从这里开,unittest框架主要用于测试用例的组织和执行,以及测试结果的生成.

    主要任务是帮测试人员完成测试工作,所以通常称他为测试框架

    unittest核心要素

    核心的五个要素: TestCase,TestSuite,TextTestRunner,Fixture

    1.TestCase
    一个TestCase就是一个测试用例。
    一个测试用例就是一个完整的测试流程,包括测试前环境准备(SetUp),执行测试代码(run),以及测试后环境的还原(tearDown)。
    一个测试用例就是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。用户定义测试用例需要继承TestCase类。


    2.TestSuite()
    TestSuite()就是测试用例集合。
    通过addTest()方法手动把TestCase添加到TestSuite,也可以通过TestLoader把TestCase自动加载到TestSuite,但没有顺序。
    TestSuite可以嵌套TestSuite。


    3.TextTestRunner
    TestTestRunner是运行测试用例的驱动类,其中的run方法可以执行TestCase、TestSuite。


    4.TextTestResult
    测试用例的执行结果会保存到TextTestResult中,包括执行了多少用例,成功了多少,失败了多少等信息


    5.Fixture
    对一个测试用例环境的搭建和销毁,就是一个Fixture,通过覆盖TestCase的setUp()和tearDown()方法来实现。
    比如在测试用例中需要访问数据库,那么可以在setUp()中建立数据库连接并进行初始化。如测试用例需要登录web,可以先实例化浏览器。
    测试用例执行后需要还原环境。比如在tearDown()中需要清除在数据库中产生的数据,关闭数据库连接,关闭浏览器。
    注意tearDown的过程很重要,要为以后的TestCase留下一个干净的环境。

    unittest工作流程

    unittest的整个流程就是首先需要写好TestCase,然后把TestCase添加到TestSuite,然后由TextTestRunner来执行TestSuite,运行的结果保存在TextTestResult中,整个过程集成在unittest.main模块中

  • 相关阅读:
    loj#2540. 「PKUWC2018」随机算法
    loj#2538. 「PKUWC2018」Slay the Spire
    loj#2537. 「PKUWC2018」Minimax
    CF662C Binary Table
    bzoj4589: Hard Nim
    【HDU5909】Tree Cutting(FWT)
    P3175 [HAOI2015]按位或
    P4389 付公主的背包
    P4233 射命丸文的笔记
    GFS分布式文件系统环境部署与管理
  • 原文地址:https://www.cnblogs.com/zuoyou1223/p/11882942.html
Copyright © 2011-2022 走看看