在Django测试中执行的顺序是什么

时间:2013-09-21 01:15:10

标签: python django unit-testing fixtures django-settings

以下是一个示例测试类:

@decorator_1()
class SimpleTest(TestCase):

    fixtures = ['test_fixture.json']

    def setup(self):        
        x =1
        y=2

    def teardown(self):        
        x =None
        y=None


    def test_one(self):
        self.assertEquals(1,1)

    @decorator_2 
    def test_two(self):
        self.assertEquals(2,2)

这些作品的执行顺序是什么?:

setup
teardown
fixture loading
decorator_1
decorator_2 
test_one
test_2 

我试图找到一种方法来在加载灯具之前覆盖设置变量。

1 个答案:

答案 0 :(得分:0)

包含一个完整的新文件

import sys
try:
    if 'test' in sys.argv:        
        from testsettings import *
except ImportError:
    print "something went wrong with the import"
del sys

修改一些设置

import sys
try:
    if 'test' in sys.argv:        
        MY_SETTING = 'xxy'
        del MY_SETTING_2
except Exception as e:
    print "something went wrong %s" % e.message
del sys

注意:如果您想要设置del,则必须从要导入的文件中进行设置。它不能在您导入的文件中。