Django DiscoverRunner没有运行syncdb

时间:2014-10-22 19:31:49

标签: python django unit-testing

我无法在其他任何地方找到答案。

我正在尝试对我的项目运行单元测试,该项目使用South进行模式迁移。我已在设置中设置了SOUTH_TESTS_MIGRATE = False。但是,当我运行单元测试时,我得到关于表缺失的错误。

根据我对Django DiscoverRunner的理解,应该(根据Django 1.6文档)在创建测试数据库后运行syncdb。但是,我没有看到这种情况发生。此外,我甚至没有在Django测试代码中看到任何对syncdb或甚至'sync'的引用。我看到的唯一参考是post_syncdb信号。

有没有人在运行Django测试时遇到syncdb没有运行的问题? 或者有人知道在Django代码库中它应该在测试期间运行syncdb,因为我找不到它。

谢谢!

1 个答案:

答案 0 :(得分:1)

找到解决方案。这与测试套件完全无关。

我的项目中有一个自定义数据库路由器,正在使用:

def allow_syncdb(self):
    return False