如何使用unittest的setUpClass方法?

39 投票
2 回答
30253 浏览
提问于 2025-04-16 11:11

我在找一些关于Python 2.7中unittest的setUpClass()方法的基本例子。我想测试我模块中的一些类方法,目前我已经做到这一步:

import unittest  
import sys  

import mymodule  

class BookTests(unittest.TestCase):  
    @classmethod  
    def setUpClass(cls):  
        cls._mine = mymodule.myclass('test_file.txt', 'baz')  

但是我不知道接下来该怎么做,才能利用我刚刚创建的对象来写测试。

2 个回答

6

如果你在使用Django 1.8或更高版本,建议你使用 setUpTestData 这个方法。

你可以在 cls 这个对象上设置任何属性,然后在每个测试方法中通过 self 对象来访问这些属性。

更多信息可以查看 Django的文档

40

在你的测试方法中,现在可以通过自引用(self)来访问全局类属性 _mine。所以你可以这样做:

def test_something(self):
    self.assertEqual(self._mine.attribute, 'myAttribute')

撰写回答