如何使用其他框架的测试夹具然后进行单元测试

时间:2011-01-13 15:18:47

标签: django testing fixtures

我正在使用生菜框架进行测试,我想用新数据库运行测试并加载一些测试夹具。类似于单元测试运行,当定义测试夹具时

有可能吗?

1 个答案:

答案 0 :(得分:0)

这是一个代码片段,用于加载主要取自Django测试用例的灯具。您只需要确保“db”指向正确的db(测试数据库)。我通过传入自定义设置文件来完成此操作。 “db”这里只指一个别名,而不是一个实际的连接。如果您只使用一个数据库(不计算测试数据库),则只需将其设置为“默认”。因此,如果您测试的类属性为“fixtures”,它将使用与loaddata管理命令相同的规则加载灯具。

    if getattr(self, 'multi_db', False):
        databases = connections
    else:
        databases = [DEFAULT_DB_ALIAS]

    for db in databases:

        if hasattr(self, 'fixtures'):
        # We have to use this slightly awkward syntax due to the fact
        # that we're using *args and **kwargs together.
        call_command('loaddata', *self.fixtures,
                         **{'verbosity': 0, 'database': db})

你需要

import from django.core.management import call_command

使这项工作。