我如何使用unittest setUpClass方法()?

urs*_*rei 30 python unit-testing

我正在寻找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')  
Run Code Online (Sandbox Code Playgroud)

但我不知道如何从这里开始利用我刚刚创建的对象编写测试.

Sam*_*lan 29

在您的测试方法中,您现在可以_mine通过self 访问全局类属性.所以你可以这样做:

def test_something(self):
    self.assertEqual(self._mine.attribute, 'myAttribute')
Run Code Online (Sandbox Code Playgroud)

  • @Pradyot`setUp()`在每个测试方法之前调用,而`setUpClass()`在所有测试之前调用一次.许多测试可以利用的任何昂贵的操作都应该放在`setUpClass()`中. (12认同)

sed*_*nym 5

如果您使用的是Django 1.8+,则应该使用该setUpTestData方法.

然后,您可以在cls对象上设置任何属性,并通过对象上的各个测试方法访问它们self.

更多信息在Django文档中.