【问题标题】:Django: How to keep the test database when the test is finished?Django:测试完成后如何保留测试数据库?
【发布时间】:2011-09-23 22:37:53
【问题描述】:

我的一些要求如下:

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

我不是测试专家,但这些都必须达到,有没有专业人士可以提出该领域的最佳实践

非常感谢您的帮助!

【问题讨论】:

    标签: django unit-testing testing


    【解决方案1】:

    Django 1.8 中的新功能

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

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

    【讨论】:

    • 如何在不保留实际数据的情况下保留数据库结构?
    【解决方案2】:

    你可以运行:

    ./manage.py testserver
    

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

    希望这会有所帮助, 安东

    【讨论】:

    • 使用来自给定夹具的数据运行开发服务器。例如:./manage.py testserver test_data.json
    • 这是不准确的 - ./manage.py testserver not 为您运行所有 Django 单元测试。是的,它每次都可以针对空白的新数据库进行 UI 测试,但不会触发单元测试。
    【解决方案3】:

    Persistent Database Test Runner 添加了一个名为quicktest 的新命令,它将在测试运行后保留数据库,并在再次运行时使用相同的命令。

    【讨论】:

      猜你喜欢
      • 2015-08-10
      • 2011-06-04
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      • 2019-01-01
      • 2018-08-17
      相关资源
      最近更新 更多