5.unittest-测试套件、结果输出到文件

一、测试套件:

1.方式一:unittest.main()

import unittest

# 定义测试类,父类为unittest.TestCase
class TestDemo(unittest.TestCase):

    # 每个测试方法运行前执行
    def setUp(self) -> None:
        print("setUp")

    # 每个测试方法运行后执行
    def tearDown(self) -> None:
        print("teardown")

    # 所有的测试方法都要以test为开头
    def test_01(self):
        print("test01")

    def test_02(self):
        print("test02")

    def test_03(self):
        print("test03")

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

执行结果
在这里插入图片描述

2.方式二:unittest.TestSuite()

import unittest

# 定义测试类,父类为unittest.TestCase
class TestDemo(unittest.TestCase):

    # 每个测试方法运行前执行
    def setUp(self) -> None:
        print("setUp")

    # 每个测试方法运行后执行
    def tearDown(self) -> None:
        print("teardown")

    # 所有的测试方法都要以test为开头
    def test_01(self):
        print("test01")

    def test_02(self):
        print("test02")

    def test_03(self):
        print("test03)
 
 if __name__ == '__main__':
    # unittest.main(verbosity=2)

    # 构造测试集,实例化测试套件。
    suite = unittest.TestSuite()

    # 执行顺序为安装加载顺序:先执行test_case2,再执行test_case1
    suite.addTest(TestDemo("test_02"))
    suite.addTest(TestDemo("test_01"))

    # 执行测试用例,实例化TextTestRunner类
    runner = unittest.TextTestRunner(verbosity=2)

    # 使用run()方法运行测试套件(即运行测试套件中的所有用例)
    runner.run(suite)              

执行结果:
在这里插入图片描述

3.方式三:unittest.defaultTestLoader()

import unittest

# 定义测试类,父类为unittest.TestCase
class TestDemo(unittest.TestCase):

    # 每个测试方法运行前执行
    def setUp(self) -> None:
        print("setUp")

    # 每个测试方法运行后执行
    def tearDown(self) -> None:
        print("teardown")

    # 所有的测试方法都要以test为开头
    def test_01(self):
        print("test01")

    def test_02(self):
        print("test02")

    def test_03(self):
        print("test03)
if __name__ == '__main__':        
    test_dir = "./"
    # 构造测试集,使用defaultTestLoader的discover方法查找测试用例文件。
    discover = unittest.defaultTestLoader.discover(test_dir, pattern='pattern='demo.py')
    
    # 执行测试用例,实例化TextTestRunner类。
    runner = unittest.TextTestRunner(verbosity=2)
    
    # 使用run()方法运行测试套件(即运行测试套件中的所有用例)
    runner.run(discover)      

执行结果:
在这里插入图片描述

二、结果输出到文件

import unittest

class TestCan(unittest.TestCase):
    def test_01(self):
        print("hello world1")
    
    def test_02(self):
        print("hello world2")
        
if __name__ == '__main__':
    suite = unittest.TestSuite()
    suite.addTest(TestCan("test_01"))
    suite.addTest(TestCan("test_02"))

    #执行测试,将测试结果输入到res.txt文件中
    with open("res.txt", "a", encoding="utf-8") as file:
        runner = unittest.TextTestRunner(stream=file, verbosity=2)
        runner.run(suite)   

在这里插入图片描述
写入结果的文件
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值