我有一个unittest
测试文件包含四个测试类,每个测试类负责在一个特定的类上运行测试。每个测试课程使我们完全相同set-up
和teardown
方法。 set-up
方法相对较大,启动约20个不同的变量,而teardown
方法只是将这20个变量重置为其初始状态。python单元测试家务
到目前为止,我一直把这20个变量放在四个setUp类的每一个中。这有效,但不容易维护;如果我决定改变一个变量,我必须在所有四个setUp方法中改变它。然而,我寻找更优雅的解决方案失败了。理想情况下,我只想输入一次我的二十个变量,然后在四种方法中分别调用它们,然后在每种测试方法之后将它们拆下。考虑到这一点,我尝试将变量放在一个单独的模块中,并在每个setUp中导入这些变量,但当然这些变量只能在设置方法中使用(另外,尽管我无法确切地说明原因,这种感觉就像做
from unittest import TestCase
class Test_Books(TestCase):
def setup():
# a quick and easy way of making my variables available at the class level
# without typing them all in
def test_method_1(self):
# setup variables available here in their original state
# ... mess about with the variables ...
# reset variables to original state
def test_method_2(self):
# setup variables available here in their original state
# etc...
def teardown(self):
# reset variables to original state without having to type them all in
class Books():
def method_1(self):
pass
def method_2(self):
pass
显示实际的代码,而不是说明你正在做什么的评论,而不是显示你在做什么时,确切的代码是问题。 – geoffspear