自动化单元测试框架PyUnit

  • 框架介绍

           PyUnit是Python单元测试框架(The Python unit testing framework),可对程序中的最小可测试单元进行检查和验证。官方使用文档地址为:http://pyunit.sourceforge.net/pyunit_cn.html

  • 安装

           Python2.1版本之后将PyUnit作为标准模块,安装Python后即可使用引入unittest模块即可使用。

  • 测试用例范例

    import requests
    import unittest
    from unittest import TestCase
    
    # 执行测试的类
    class NounsTest(TestCase):
    	# 初始化工作,此例中初始化物料请求地址
        def setUp(self):
            self.url = 'http://www.baidu.com' # 定义一初始地址
    
    	# 资源释放工作,用例执行完成后执行,此例中无任何操作
        def tearDown(self):
            pass;
    
        # 测试用例,验证添加物料至数据库返回状态码为200
        def testAddMaterial(self):
            info = ‘json info’
            res = requests.post(self.url, json=info)
            self.assertEqual(res.status_code, 200)
    
    # 测试用例集,添加到用例集中的用例才被执行
    def suite():
        suite = unittest.TestSuite()
        suite.addTest(NounsTest('testAddMaterial'))
        return suite
    
    # 用例执行
    if __name__ == '__main__':
        unittest.main(defaultTest='suite')

     

  • 范例详解

    1. 常用函数

      setUp(): 测试用例执行前的初始化工作,可预先初始化会复用的参数。
      tearDown(): 测试用例执行后的资源释放工作,如测试用例执行过程中在数据库添加内容可以在此函数进行清理工作。无论测试用例是否执行成功,teatDown均会执行。
      failedinfo: 作为参数在执行不成功的测试用例下打印信息。
      self.assertEqual(expectValue, actualValue, failedinfo): 判断两值是否相等,不想等则失败,failedinfo可不填写
      其他断言函数:https://www.cnblogs.com/mq0036/p/7205626.html
    2. 静态方法

      静态方法是指一个测试类中仅包含一个测试用例,重写runTest()方法设计测试用例,执行时调用测试类下此方法即可。上述范例未采用静态方法。
    3. 动态方法

      动态方法是指一个测试类包含多个测试用例,完成对整个模块的测试,结合测试用例集使用。上述范例采用的是动态方法。
    4. 测试用例集

      unittest.TestSuite(), 将测试用例添加到TestSuite中即可。TestSuite中也可添加多个suite,使得所有测试模块一起执行。
    5. 用例执行

      unittest.main(defaultTest='suite'),执行suite中的全部用例,完成后会出现如图所示提示。

 

你可能感兴趣的:(python)