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

18

这是我的一些要求:

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

我不是测试方面的专家,但这些需求必须被实现。有没有专业人士可以建议在这个领域的最佳实践?

非常感谢您的帮助!

3个回答

35

4
如何保留数据库结构而不保留实际数据? - David Dahan

2

您可以运行以下命令:

./manage.py testserver

您的测试数据库将被创建,所有测试都会运行,之后服务器将继续运行,以便您可以进行UI测试。
希望这有所帮助, 安东

1
运行开发服务器并加载给定夹具(fixture)的数据。例如:./manage.py testserver test_data.json - Kenny Meyer
11
这是不准确的 - ./manage.py testserver 并不会为您运行所有的 Django 单元测试。是的,它每次都能让您针对空白且新鲜的数据库进行 UI 测试,但是单元测试并不会被触发。 - Mark Henwood

1

持久化数据库测试运行器添加了一个名为quicktest的新命令,该命令将在测试运行后保留数据库,并在再次运行时使用相同的数据库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接