我的 Django 单元测试需要很长时间才能运行,因此我正在寻找加快运行速度的方法。我正在考虑安装一个 额外印花税,但我知道这也有它的缺点。当然,我可以用我的代码做一些事情,但是我正在寻找一个结构性的修复。即使运行单个测试也很慢,因为每次都需要重新构建/向南迁移数据库。所以我的想法是..。
既然我知道测试数据库总是很小,为什么我不能只配置系统来保持整个测试数据库在 RAM 中?永远不要碰那个磁盘。我如何在 Django 中配置它?我更愿意继续使用 MySQL,因为这是我在生产中使用的,但如果 SQLite3或其他东西使这很容易,我会走那条路。
SQLite 或 MySQL 是否有完全在内存中运行的选项?应该可以配置一个 RAM 磁盘,然后配置测试数据库在那里存储它的数据,但我不知道如何告诉 Django/MySQL 为某个数据库使用不同的数据目录,尤其是因为每次运行都会被擦除并重新创建。(我用的是 Mac FWIW。)