如何在django测试函数中添加/更改变量

时间:2014-03-05 19:40:45

标签: python django django-testing

这个问题可能很愚蠢,但我找不到答案。

我想在TestCase类中添加一个测试函数来检查测试的完成情况。例如,测试网址,测试形式等。因此,我想有一个变量来保存每个测试的记录。如果测试了网址,则VARIABLE [“urls”] = True。

不幸的是,看起来所有变量都在每个测试函数中重置。在网址测试VARIABLE [“urls”]中记录的消息不能继续进行另一个测试。有没有办法在所有测试函数中都有一个全局变量?

以下是修订后的工作代码

class Test(TestCase):
    test = {}
    to_be_test = ["urls","ajax","forms","templates"]

    def test_urls(self):
        ...
        self.test['urls'] = True

    def test_ajax(self):
        ...
        self.test['ajax'] = True

    def test_z_completion(self):
        for t in self.to_be_test:
            if not t in self.test:
                print "Warning: %s test is missing!" % t

预期结果应为:

Warning: forms test is missing!
Warning: templates test is missing!

1 个答案:

答案 0 :(得分:3)

班级属性怎么样?

import unittest

class FakeTest(unittest.TestCase):
    cl_att = []

    def test_a1(self):

        self.assert_(True)
        self.cl_att.append('a1')
        print "cl_att:", self.cl_att

    def test_a2(self):

        self.assert_(True)
        self.cl_att.append('a2')
        print "cl_att:", self.cl_att


if __name__ == "__main__":
    unittest.main()