简析unittest

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40188140/article/details/87969747

unittest是单元测试框架,既可以做单元测试,也可以做自动化测试。

1)unittest属性

1.unittest.TestCase:TestCase类,所有测试用例类继承的基本类。

2.unittest.TestSuite():创建测试套件,把多个测试用例集合在一起

3.unittest.makeSuite():一次性加载一个类文件下所有测试用例到suite中去

4.addTest():将测试用例添加到测试套件中。

# 把模块test下的类Uicase下的测试用例test_case1添加到测试套件中
test_suite= unittest.TestSuite()
test_suite.addTest(test.Uicase('test_case1'))

# 使用makeSuite方法添加所有的测试方法
test_suite = unittest.TestSuite()  # 创建一个测试集合
test_suite.addTest(unittest.makeSuite(Uicase))

4.run():运行测试套件的测试用例,入参为suite测试套件。

①runner = unittest.TextTestRunner()

   runner.run(suite)

②runner = xmlrunner.XMLTestRunner(output='report') # 指定报告放的目录

   runner.run(suite)

5.测试用例必须以test开头

2)代码

# -*- coding: utf-8 -*
import HTMLTestRunner
import unittest
import requests
import json
import xmlrunner


# 继承unittest.TestCase
class My(unittest.TestCase):
    # def tearDown(self):
    #     # 每个测试用例执行之前做操作
    #     print ('每个测试用例执行之前做操作')
    #
    # def setUp(self):
    #     # 每个测试用例执行之前做操作
    #     print ('每个测试用例执行之前做操作')

    def test_run1(self):
        self.assertIs(1, 1)
        print '测试用例1'
        # 测试用例

    def test_run2(self):
        # self.assertEqual(1,1)
        self.assertIs(1, 1)
        # 测试用例
        print '测试用例2'

    def test_run3(self):
        # self.assertEqual(1,1)
        self.assertIs(1, 1)
        # 测试用例
        print '测试用例3'

    def test_run4(self):
        # self.assertEqual(1,1)
        self.assertIs(1, 1)
        # 测试用例
        print '测试用例4'


if __name__ == '__main__':
    print '测试是否运行!!!'
    test_suite = unittest.TestSuite()  # 创建一个测试集合
    # 测试套件中添加测试用例
    #test_suite.addTest(My)
    test_suite.addTest(unittest.makeSuite(My))
    # test_suite.addTest(unittest.makeSuite(MyTest))#使用makeSuite方法添加所有的测试方法
    # fp = open('res.html', 'wb')  # 打开一个保存结果的html文件
    # runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='api测试报告', description='测试情况')
    runner = xmlrunner.XMLTestRunner(output='report')  # 指定报告放的目录
    # print xmlrunner
    # 生成执行用例的对象
    runner.run(test_suite)

猜你喜欢

转载自blog.csdn.net/weixin_40188140/article/details/87969747