Django:如何在测试完成后保留测试数据库?

use*_*652 14 testing django unit-testing

我的一些要求是这些:

  • 创建一个内存中的sqlite3数据库.
  • 读取列表,从生产数据库中提取这些数据.
  • 执行单元测试
  • 保留测试数据库.
  • 使用相同的测试数据库执行一些智能UI测试.

我不是专业人士,但这些必须达到,任何能够在这方面提出最佳实践的专业人士都能实现吗?

非常感谢您的帮助!

小智 21

Django 1.8中的新功能

--keepdb选项可用于在测试运行之间保留测试数据库

https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-option---keepdb

  • 如何在不保留实际数据的情况下保持数据库结构? (2认同)

Ant*_*ton 3

你可以运行:

./manage.py testserver
Run Code Online (Sandbox Code Playgroud)

将创建您的测试数据库,运行所有测试,然后服务器继续运行,以便您可以进行 ui 测试。

希望这有帮助,安东

  • 这是不准确的 - ./manage.py testserver _不会_为你运行所有 Django 单元测试。是的,它每次都可以针对空白的新数据库进行 UI 测试,但不会触发单元测试。 (11认同)