unittest之setUp、tearDown及setUpClass(),tearDownClass()

一、setUpClass(),和tearDownClass():

1、需要结合@classmethod 装饰器使用

2、整个类,这两个方法只运行一次;

3、setUpClass()在所有用例执行前执行一次;tearDownClass()在所有用例执行完成后执行一次;

使用:结合着两个方法的特性,看场景需要,选择是否使用该方法;

二、setUp()、tearDown()

1、setUp()在每个用例执行前执行一次;

2\tearDown()在每个用例执行后执行一次;

三、实例:我们使用下面的简单代码来体现调用次数情况

复制代码
import unittest
class test_func(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        print('this is setUpClass')
    def setUp(self) -> None:
        print("setUp")
    def test_func1(self):
        print('test_func1')
    def test_func2(self):
        print('test_func2')
    def tearDown(self) -> None:
        print('tearDown')
    @classmethod
    def tearDownClass(cls) -> None:
        print('tearDownClass')


if __name__=='__main__':
    test=test_func()
复制代码

创建一个run模块,来执行上面的测试类

import unittest
from unittestreport import TestRunner
#这里的路径换成你自己写的测试类的路径
suit=unittest.defaultTestLoader.discover(r'E:\pystudy\dayxx\common')
runner=TestRunner(suit)
runner.run()

 

运行结果

复制代码
this is setUpClass
setUp
test_func1
tearDown
test_func1 (test_unittest1.test_func)执行——>【通过】
setUp
test_func2
tearDown
test_func2 (test_unittest1.test_func)执行——>【通过】
tearDownClass
复制代码

 

 

另外:

self:是实例方法的第一个参数,代表的是实例对象本身;

cls 是类方法的第一个参数,代表的是类本身

posted @   袁小文子  阅读(283)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示