【问题标题】:How to share data (like temporary path) between Django unit tests如何在 Django 单元测试之间共享数据(如临时路径)
【发布时间】:2013-09-13 13:26:09
【问题描述】:
class MyTestCaseA(TestCase):
    def setUp(self):
        # some setup here...

    def test_case(self):
        # some test

class MyTestCaseB(TestCase):
    def setUp(self):
        # some setup here...

    def test_case(self):
        # some test

我需要在 MyTestCaseA 和 MyTestCaseB 之间共享数据。就我而言,我想共享为每次执行测试创建的文件夹的路径(通过“manage.py test myapp”)。就我而言,我将截取浏览器的屏幕截图(使用 selenium),并且我想将在我的各种测试用例中截取的所有屏幕截图存储在同一个临时文件夹中。

如果我在 SetUp 函数中创建一个临时文件夹,那么每个测试用例都会有一个不同的临时文件夹。

【问题讨论】:

    标签: django testing selenium


    【解决方案1】:

    尝试以下操作:

    class SharedTempDir(object):
        def prepare(self):
            if not hasattr(SharedTempDir, 'tempdir'):
                # This part will be executed only once.
                SharedTempDir.tempdir = .... make temporary directory ...
    
    class MyTestCaseA(TestCase, SharedTempDir):
        def setUp(self):
            SharedTempDir.prepare(self)
            ...
        def test_blah(self):
            ... use self.tempdir ... or SharedTempDir.tempdir ...
    
    class MyTestCaseB(TestCase, SharedTempDir):
        def setUp(self):
            SharedTempDir.prepare(self)
            ...
    

    【讨论】:

    • 它有效,但我意识到我可以在模块级别使用全局变量定义......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 2017-10-15
    • 1970-01-01
    相关资源
    最近更新 更多