Djangoのテストフレームワークは便利なんだけど、テスト実行時に毎回行われるDBテーブルの生成・削除プロセスやFixtureデータのインポート処理に決行時間が掛かってて、ストレスの種になっていた。 テスト中にコンソールを眺めていて特に遅いと感じられるのがcreate table文の実行。モデルの数だけこれが実行されるので、アプリケーションの規模が大きくなるにつれテスト時間も増加してしまう。 DBアクセスが高速化されればいいんだけど、今回使用しているDBのPostgreSQLにはメモリテーブルみたいな仕組みがないため、どうしてもディスクアクセスが発生してしまう。が、ローカル環境では開発用途にしか使ってないのでRAMディスク上にテーブルスペースを作って、そこにテスト用のDBが生成されるようにすればDBアクセスが高速化されるはず。と思い立って、次のようにこれを実現してみた。 まず導入したのが前
![Django テストの高速化 - OZACC.blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/9e1b93330dd6e34d10b069bd47c2978c1c436b67/height=288;version=1;width=512/http%3A%2F%2Fblog.ozacc.com%2Fstatic%2Fimg%2Ficon%402x.png)