zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    用简单的方法解决问题
    记一次调试
    工作笔记还是蛮有用
    35岁往上做什么
    2013年个人总结
    一个C++宏定义与枚举定义重复的编译错误
    动态库的麻烦之处
    谈谈软件项目的dependency
    创建pathing jar
    谈谈patch strategy
  • 原文地址:https://www.cnblogs.com/loayi/p/8185959.html
Copyright © 2011-2022 走看看