Python单元测试,只运行一些方法一次

时间:2015-09-29 15:51:22

标签: python django unit-testing

我正在使用Django testcase这样的一个testuit:

Meetings.Module_FK

现在我注意到在class XXXTests(TestCase): def setUp(self): .... def test_something(self): .... def test_anthoerthing(self): .... test_something()中重复了很多事情(主要运行一些方法并获取返回的值)。

有什么方法我只能为testuit运行一次重复的部分吗?

1 个答案:

答案 0 :(得分:3)

就像彼得提到的那样,你想引用这篇文章的Python文档,因为Django的django.test.TestCase是Python的unittest.TestCasedoc)的子类。

在特定示例中按字面意义执行所需操作的部分与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) (模块),就测试装置/设置的级别而言。