Unittest TestSuite 测试套件 3

Unittest TestSuite 测试套件 3,第1张

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

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

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

testsuite 方法, 调用 addTest来加载测试用例: 类名('方法名')的集合 addTest() 添加一个测试用例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')

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1330078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存