gpt4 book ai didi

python - Python unittest 中的 setUp() 和 setUpClass() 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 21:33:57 27 4
gpt4 key购买 nike

Python unittest框架中的setUp()setUpClass()有什么区别?为什么要以一种方法而不是另一种方法来处理设置?

我想了解在 setUp()setUpClass() 函数以及 tearDown() 中完成了哪些设置部分code> 和 tearDownClass().

最佳答案

当您的类(class)中有多个测试方法时,差异就会显现出来。 setUpClasstearDownClass 对整个类(class)运行一次; setUptearDown 在每个测试方法之前和之后运行。

例如:

class Example(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("setUpClass")

def setUp(self):
print("setUp")

def test1(self):
print("test1")

def test2(self):
print("test2")

def tearDown(self):
print("tearDown")

@classmethod
def tearDownClass(cls):
print("tearDownClass")

当你运行这个测试时,它会打印:

setUpClass
setUp
test1
tearDown
.setUp
test2
tearDown
.tearDownClass

(点 (.) 是测试通过时 unittest 的默认输出。)观察 setUptearDown 出现在 test1 test2 之前和之后,而 setUpClasstearDownClass 只出现一次,在整个测试用例的开头和结尾。

关于python - Python unittest 中的 setUp() 和 setUpClass() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23667610/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com