【问题标题】:What is the order of execution In Django TestsDjango测试中的执行顺序是什么
【发布时间】:2013-09-26 12:01:16
【问题描述】:

这是一个示例测试类:

@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 

我正在尝试找到一种在加载装置之前覆盖设置变量的方法。

【问题讨论】:

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


    【解决方案1】:

    包含一个全新的文件

    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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多