从setUpClass到setUp的unittest数据

时间:2014-02-19 14:51:08

标签: python python-unittest

在unittest python库中,我可以在每个测试之前使用setUp方法设置变量,在所有测试之前使用setUpclass

如何将数据从setUpClass传递到setUp

我试试这个:

class TestSequenceFunctions(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.a = 0

    def setUp(self):
        self.a = cls.a

    def test_hello01(self):
        self.assertEquals(self.a, 0)

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

但我得到

NameError: global name 'cls' is not defined

2 个答案:

答案 0 :(得分:3)

您可以使用__class__属性访问对象的类。

self.a = self.__class__.a

答案 1 :(得分:2)

在setUp()中,您可以直接访问'a'而不使用'cls'表示法,即:

def setUp(self):
    print self.a   # should print 0