如何使用setUpClass&;编写单元测试;Python 2.3中的tearDownClass

如何使用setUpClass&;编写单元测试;Python 2.3中的tearDownClass,python,unit-testing,python-2.3,Python,Unit Testing,Python 2.3,我正在尝试用python 2.3编写单元测试。我已经完成了所有工作,接受类级设置和拆卸功能。我曾尝试在线查看,但无法找到在Python2.3单元测试用例中定义这些内容的方法 因此,在Python2.3测试用例中是否可以有setUpClass()和tearDownClass()?如果是,我该怎么做呢?根据,unittest.TestCase子类化的工作方式应该与在该语言的较新版本中的工作方式相同 import unittest class MyTest(unittest.TestCase):

我正在尝试用python 2.3编写单元测试。我已经完成了所有工作,接受类级设置和拆卸功能。我曾尝试在线查看,但无法找到在Python2.3单元测试用例中定义这些内容的方法

因此,在Python2.3测试用例中是否可以有setUpClass()和tearDownClass()?如果是,我该怎么做呢?

根据,unittest.TestCase子类化的工作方式应该与在该语言的较新版本中的工作方式相同

import unittest

class MyTest(unittest.TestCase):

    def setUp(self):
        'Do stuff to set up before each test'

    def tearDown(self):
        'Do stuff to tear down after each test'
如果您想完成一些更具体的任务,您能描述一下吗?

尝试使用或其他与python 2.3兼容的runner;Python2.3运行程序不知道这个方法(setUpClass/tearDownClass)

在python 2.3中,要修饰函数,应手动执行(无语法限制),如:


历史笔记:Python2.3于2003年7月29日发布。到目前为止,您尝试了什么?我不知道它在2.3中是否有所不同,但您只需在unittest.TestCase-inherited类中定义setUp函数即可。@miku我意识到,由于与旧系统的兼容性,我必须使用python 2.3。如果由我决定,我会在2号。7@MannyD-每次测试前运行“setUp()”函数。我想为整个测试套件添加设置和清理,即在所有测试用例之前进行设置,在所有测试用例之后进行清理。这可能是一个很难做到的事情,但每个测试用例都应该是独立的,不依赖于在一些多测试设置/拆卸之后运行。公共设置是将测试分组到一个套件中的一个很好的理由,但是设置确实应该在每个测试用例之前进行;否则,将更难在单个测试用例中隔离失败。我希望实现setUpClass()和tearDownClass(),它们可以用@classmethod 2.7定义,如这里所述
@classmethod
在2.3中不可用,并且无法找到如何执行
setUpClass()
tearDownClass()
在2.3的文档中,我刚刚通读了2.3的unittest的源代码,看起来如果您希望能够利用setUpClass和tearDownClass功能,您必须编写自己的测试加载程序或运行程序来实现这些挂钩。话虽如此,unittest库自2.3以来已经有了相当大的增长,它所带来的麻烦可能不会有最好的ROI。感谢您确认我得到的印象。目前,我正在使用测试的字母顺序进行两个特殊测试,例如
test\u 00()
test\u 99()
,所有实际测试都是
test\u XX\u description()
。这是我可以模拟我想要的。升级后,我可以将它们切换到
@classmethod
版本
class MyTest(unittest.TestCase):
    def setUpClass(cls): ...
    setUpClass = classmethod(setUpClass)