zoukankan      html  css  js  c++  java
  • 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)) #以测试模块的方式加载

  • 相关阅读:
    2017年第一篇博客--关于集成友盟和微信支付等遇到的坑
    【转】ArcGIS Server10.1安装常见问题及解决方案
    【转】C# GDAL 配置
    【转】Silverlight无法添加服务引用
    arcgis for js/flex/sl 该选哪一个?
    webgis开发-开始向JS转向
    形象解释C#、Net、Asp.net
    怎么区分odd和even
    Linux入门
    html网页访问WebAPI中的方法遇到的问题
  • 原文地址:https://www.cnblogs.com/an-ning0920/p/11725272.html
Copyright © 2011-2022 走看看