• python 单元测试_unittest(七)


    一、unittest中各阶段的核心概念:TestCase, TestSuite, 断言函数, TextTestRunner,TestFixture

    TestCase:所用用例的基类,软件测试中基本的测试单元,测试用例是一个完整的测试单元,可以对某一问题进行验证。

    一个完整的测试流程包括:测试前环境的搭建setUp,执行测试代码(run),以及测试后环境的还原(tearDown)

    TestSuite:多个测试用例的集合,可嵌套使用。

    断言函数:用于对比结果(期望值/实际值)assert 断言语句和 if 分支有点类似,它用于对一个 bool 表达式进行断言,如果该 bool 表达式为 True

    该程序可以继续向下执行;否则程序会引发 AssertionError 错误。

    TextTestRunner:用来执行测试用例的,其中的run(test)会执行TestSuite/TestCase中的run(result)方法。

    TestFixture:测试代码的运行环境,指测试准备前和执行后要做的工作,包括setUp和tearDown方法。

    二、测试流程:写测试用例--加载用例--对比结果--执行用例并出结果--测试报告

    ①写一个类继承unittest.TestCase,其中包括多个以test开头的方法,每个测试方法在加载时生成一个测试实例。

    ②加载用例:TestSuite/ TestLoader

    ③对比结果:使用断言函数对比(期望值/实际值)

    ④执行并出结果(TextTestRunner类):运行TestSuite,并将结果保存在TextTestResult中

    ⑤出报告(HtmlTestReport):通过HTMLTestRunner将结果输出到HTML

    注:

    1)通过命令行或者unittest.main()执行时,main会调用TextTestRunner中的run来执行,或者可以直接通过TextTestRunner来执行用例

    2)Runner执行时,默认将结果输出到控制台,我们可以设置其输出到文件,在文件中查看 结果,也可以通过HTMLTestRunner将结果输出到HTML

    例子:

    测试方法:

    测试用例:

     加载用例:

     运行结果:

     

    三、其他

    1)TestFixture——setUp(),tearDown()方法

    setUp() 和 tearDown() 两个方法(其实是重写了TestCase的这两个方法),这两个方法在每个测试方法执行前以及执行后执行一次,setUp用来为测试准备环境,tearDown用来清理环境,已备之后的测试。

    2)加载用例

    方法一(TestSuite

    suite=unittest.TestSuite() 
    suite.addTest(TestAdd('test_add_two_zero'))

    方法二(TestLoader类)

    loder=unittest.TestLoader()
    #suite.addTest(loder.loadTestsFromTestCase(TestSub)) #以测试类的方式加载
    suite.addTest(loder.loadTestsFromModule(Day8_unittest2)) #以测试模块的方式加载

  • 相关阅读:
    Educational Codeforces Round 84 Div2
    Codeforces Global Round 7
    ACWing 最长连续不重复子序列(双指针)
    洛谷 P3382 【模板】三分法
    第十一届蓝桥杯模拟赛10 数节目(ST表)
    洛谷 P1886 滑动窗口(单调队列)
    Codeforces Round #628 (Div. 2) C
    VJ Balanced Lineup(ST表)
    VJ Can you answer these queries ? (线段树区间修改+区间查询+剪枝)
    VJ Just a Hook(线段树区间修改+查询)
  • 原文地址:https://www.cnblogs.com/an-ning0920/p/11725272.html
Copyright © 2020-2023  润新知