代码之家  ›  专栏  ›  技术社区  ›  Tomasz Wysocki

仅用于测试的模型

  •  3
  • Tomasz Wysocki  · 技术社区  · 15 年前

    我只想定义在我的测试套件中使用的模型。最好不要在生产中创建它的表。是否有任何变量可以再次测试以检查我是否处于测试模式?

    2 回复  |  直到 15 年前
        1
  •  0
  •   Craig Trader    12 年前

    如果您使用 Django testing framework ( python manage.py test )然后,它将自动在一个完全不同的数据库中为您的模型创建所有表,然后在运行测试之前,从您的应用程序fixture填充这些表。测试完成后,将删除数据库。(如果生产数据库名为 foo ,测试数据库将命名为 foo_test ,除非你 specify differently .)

    如果您有只用于测试的模型,那么您所要做的就是将测试模型放在与测试代码相同的目录结构中,而不是与生产模型混合。这将确保它们不会无意中混合到生产数据库中。

        2
  •  0
  •   Maxime Lorant Ashana.Jackol    10 年前

    如果您使用最新版本的Django(我可以确认从1.4到1.6的版本),并使用Django.test,那么您可以将所有的测试模型定义放在 tests/__init__.py . 这样,您就可以在单元测试中使用测试模型,而不会污染生产数据库。