栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Unittest TestSuite 测试套件 3

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unittest TestSuite 测试套件 3

本文内容
  1. 加载不同py文件中的测试用例,单个添加,批量添加
  2. 安装字母顺序执行用例
  3. 跳过用例执行
     

测试用例的执行顺序是按照测试用例名称执行的

Unitest.TestSuite() 测试套件的作用
  1. 执行测试用例的顺序
  2. class 类里面的方法存在名称为 test开头的方法,则都加载到suite中
  3. TestLoder 加载 TestCase 到 TestSuite里面
  4. verbosity参数为结果输出的详细程度,0为简单,1为一般(默认),2为最详细
  5. 用例执行成功会显示为"." , 失败用例则显示为"F"

testsuite 方法, 调用 addTest来加载测试用例: 类名('方法名')的集合
  1. addTest() 添加一个测试用例
  2. addTest([,,])添加多个测试用例

根据字母顺序执行用例
import unittest

class Testcase(unittest.TestCase):
    def setUp(self): # 执行case之前执行
        print(" set up 开始")

    def tearDown(self): # 执行case之后执行
        print("tearDown 结束")

    def testAase1(self):
        print("233")

    def testCase2(self):
        print('666')

    def testBase3(self):
        print('case3')
        self.assertEqual(1,1)

if __name__ == '__main__':
    unittest.main()

@unittest.skip() 跳过用例执行
import unittest

class Testcase(unittest.TestCase):
    def setUp(self): # 执行case之前执行
        print(" set up 开始")

    def tearDown(self): # 执行case之后执行
        print("tearDown 结束")

    def testAase1(self):
        print("233")

    def testCase2(self):
        print('666')

    @unittest.skip("跳过用例执行")
    def testBase3(self):
        print('case3')
        self.assertEqual(1,1)

if __name__ == '__main__':
    unittest.main(verbosity=2)

suite.addTest() 添加单个测试用例
TestCase.py
import unittest
from TestCase2 import Testcase2

class Testcase(unittest.TestCase):
    @classmethod
    def setUpClass(cls): # 执行case之前执行
        print(" set up 开始")

    @classmethod
    def tearDownClass(cls): # 执行case之后执行
        print("tearDown 结束")

    def testAase1(self):
        print("Testcase 的 233")

    def testCase2(self):
        print('666')


if __name__ == '__main__':
    # unittest.main(verbosity=2)

    # 构建测试套件
    suite = unittest.TestSuite()

    #加载测试用例
    suite.addTest(Testcase2("testAase1")) # 执行Testcase2.py 文件下的类方法
    suite.addTest(Testcase2("testCase2")) # 执行Testcase2.py 文件下的类方法
    suite.addTest(Testcase("testAase1"))

    runner = unittest.TextTestRunner(verbosity=2)

    runner.run(suite)
TestCase2.py
import unittest

class Testcase2(unittest.TestCase):
    @classmethod
    def setUpClass(cls): # 执行case之前执行
        print(" set up 开始")

    @classmethod
    def tearDownClass(cls): # 执行case之后执行
        print("tearDown 结束")

    def testAase1(self):
        print("Testcase2 的 testAase1")

    def testCase2(self):
        print('Testcase2 的 testCase2')

suite.addTests([]) 批量添加测试用例
TestCase.py
import unittest
from TestCase2 import Testcase2

class Testcase(unittest.TestCase):
    @classmethod
    def setUpClass(cls): # 执行case之前执行
        print(" set up 开始")

    @classmethod
    def tearDownClass(cls): # 执行case之后执行
        print("tearDown 结束")

    def testAase1(self):
        print("Testcase 的 233")

    def testCase2(self):
        print('Testcase 的 666')


if __name__ == '__main__':
    # unittest.main(verbosity=2)

    # 构建测试套件
    suite = unittest.TestSuite()

    # 批量添加,测试用例
    suite.addTests([Testcase2('testAase1'),Testcase2('testCase2'),Testcase('testCase2')])

    runner = unittest.TextTestRunner(verbosity=2)

    runner.run(suite)
TestCase2.py
import unittest

class Testcase2(unittest.TestCase):
    @classmethod
    def setUpClass(cls): # 执行case之前执行
        print(" set up 开始")

    @classmethod
    def tearDownClass(cls): # 执行case之后执行
        print("tearDown 结束")

    def testAase1(self):
        print("Testcase2 的 testAase1")

    def testCase2(self):
        print('Testcase2 的 testCase2')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/957994.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号