我正在使用Django testcase这样的一个testuit:
Meetings.Module_FK
现在我注意到在class XXXTests(TestCase):
def setUp(self):
....
def test_something(self):
....
def test_anthoerthing(self):
....
和test_something()
中重复了很多事情(主要运行一些方法并获取返回的值)。
有什么方法我只能为testuit运行一次重复的部分吗?
答案 0 :(得分:3)
就像彼得提到的那样,你想引用这篇文章的Python文档,因为Django的django.test.TestCase
是Python的unittest.TestCase
(doc)的子类。
在特定示例中按字面意义执行所需操作的部分与setUp
上的setUpClass
相对应,import unittest
class Test(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._connection = createExpensiveConnectionObject()
@classmethod
def tearDownClass(cls):
cls._connection.destroy()
。
来自Python docs的用法在这里:
TestCases
如果您的模块中有多个setUpModule
也共享代码,请查看setUp
,它类似但在(正如您所期望的)模块级别运行。
所以,setUpClass
(方法)< setUpModule
(类)< # select _c('text'::text);
_c
------
text
(1 row)
(模块),就测试装置/设置的级别而言。