gpt4 book ai didi

python - 在 Nose 测试课上使用 __init__(self) 而不是 setup(self) 有缺点吗?

转载 作者:太空狗 更新时间:2023-10-29 21:53:21 25 4
gpt4 key购买 nike

运行 nosetests -s
class TestTemp():

def __init__(self):
print '__init__'
self.even = 0

def setup(self):
print '__setup__'
self.odd = 1

def test_even(self):
print 'test_even'
even_number = 10
assert even_number % 2 == self.even

def test_odd(self):
print 'test_odd'
odd_number = 11
assert odd_number % 2 == self.odd

打印出以下内容。

__init__
__init__
__setup__
test_even
.__setup__
test_odd
.

测试实例在测试运行之前创建,而设置在测试之前运行。

对于一般情况,__init__() 和 setup() 完成相同的事情,但是使用 __init__() 而不是 setup() 是否有缺点?还是两者都用?

最佳答案

虽然 __init__ 可以替代 setUp,但您应该坚持使用 setUp,因为它是编写测试的程式化协议(protocol)的一部分.它还有一个对应物,tearDown__init__ 没有,还有类级和模块级的对应物,__init__ 没有。

编写测试类与编写普通类不同,因此您应该坚持编写测试类的风格。

关于python - 在 Nose 测试课上使用 __init__(self) 而不是 setup(self) 有缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14286722/

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