• unittest笔记


     1 import unittest
     2 import HTMLTestRunner, xmlrunner
     3 class My(unittest.TestCase):   # 每一个类都是一个测试用例,注意必须继承 unittest.TestCase
     4     def testB(self):  # 用例步骤的定义   必须以test开头
     5         '''这是BBB'''  # 该注释可在 HTMLTestRunner报告中展示在用例步骤描述中
     6         self.assertEqual(2, 2)
     7 
     8     def testA(self):
     9         self.assertEqual(2, 2)
    10 
    11 class My2(unittest.TestCase):
    12     def testC(self):
    13         self.assertEqual(2, 1)
    14 
    15 if __name__ == '__main__':
    16     # unittest.main()    # 执行当前文件中所有的测试用例
    17     suite = unittest.TestSuite()  # 初始化suite
    18     suite.addTest(unittest.makeSuite(My))   # 添加类My中的所有用例步骤到suite中
    19     suite.addTest(My2('testC'))  # 添加某个用例的某一个步骤
    20     # 生成HTMLTestRunner测试报告
    21     fw = open('test.html', 'wb')  # 初始化HTMLTestRunner测试报告
    22     runner = HTMLTestRunner.HTMLTestRunner(stream=fw, title='测试', description='描述Test') #
    23     runner.run(suite)
    24     # 生成xmlrunner测试报告   该报告供主要供Jenkins使用
    25     runner2 = xmlrunner.XMLTestRunner(output='.')
    26     runner2.run(suite)
     1 import unittest
     2 
     3 class MyTest(unittest.TestCase):
     4     @classmethod
     5     def setUpClass(cls): # serUpClass 为用例初始化
     6         print('我是setupclass')
     7     @classmethod         
     8     def tearDownClass(cls):   # tearDownClass 为用例执行结束后处理
     9         print('我是teardownclass')
    10 
    11     def setUp(self):    # 每个用例步骤运行开始前执行 
    12         print('每个用例运行之前都会运行我')
    13     def tearDown(self): # 每个用例步骤运行结束后执行
    14         print('每个用例运行之后都会再运行我')
    15     def testnidaye(self):  #   用例步骤
    16         self.assertEqual(1, 1)
    17 
    18 
    19 if __name__ == '__main__':
    20     unittest.main()  # 执行所有用例

    多文件指获取测试用例

     1 import unittest, HTMLTestRunner
     2 
     3 suite = unittest.TestSuite()    # 定义空的测试用例集
     4 all_case = unittest.defaultTestLoader.discover(      # 获取指定目录下特定文件中的测试用例
     5     r'/Users/luohailong/PycharmProjects/unittest/case', '*.py'
     6 )
     7 
     8 for case in all_case:     # 循环将测试用例添加至用例集中
     9     print(case)
    10     suite.addTests(case)
    11 
    12 # 执行用例并生成报告
    13 fw = open('report.html', 'wb')
    14 runner = HTMLTestRunner.HTMLTestRunner(
    15     stream=fw, title='多个文件执行用例'
    16 )
    17 runner.run(suite)
  • 相关阅读:
    [转]lftp的致命错误:证书验证:不信任
    github每次push都需要密码以及用户名的解决办法
    Fedora最小化安装后没有ifconfig命令
    [转载]MySql常用命令总结
    chrome浏览器强制采用https加密链接
    红帽系列linux自行配置本地yum源
    linux 下dd命令直接清除分区表(不用再fdisk一个一个的删除啦)
    linux分区工具fdisk的使用
    Java多线程实现......(1,继承Thread类)
    第一篇文章--我为什么要写博客?
  • 原文地址:https://www.cnblogs.com/loayi/p/8185959.html
Copyright © 2020-2023  润新知