実際のポストグラムでの私のdbテストの中には、それぞれ10msかかるものがあります。私は各テストで複数のコミットを行います。だから:
postgresネイティブ機能のカバレッジを得るには、同じデータベースが必要です(気付いたように、h2と他のインメモリDBはあまり互換性がありません)。 postgresにはメモリ内モードはありません。 機能テストの場合、実際のデータベース自体は、インメモリデータベースよりもはるかに遅くありません。違いは通常起動時にあります(ポストグル9.6の場合は4秒です)。しかし、テストのライフサイクルがスマートで、db startの数を1または0に減らすことができれば(開発用のdbを常に用意しておくことで)、問題は目立たなくなります。
実際のpostgresを取得し、ライフサイクルを正しく設定してください。あなたが問題の一部を解決することができますいくつかのツールがあります。
testcontainersは、あなたが本当の デシベルを提供するのに役立ちます。
testegrationをテストすることは困難である別の抽象化レイヤです - テントあなたがフル提供するために、使用する準備ができてと拡張可能なライフサイクル(開示:私は創作者です)。
短所:他のステップは、OSレベルでメモリにDBを移動するだろう
- だけ小規模なプロジェクトのための無料
- 非常に若いプロジェクト
。再び、すべてのロードが必要であるため、最初の起動時間は似ています。いくつかの出発点hereとhere
短所:
- あなたのチーム内のすべてのDEVは(あなたのチームは、異種環境を持っている場合)のOS間で移植
- 彼のローカル環境ではなく変更する必要が
を
質問にも「どのように?部。 –
特別な設定は必要ありません。メモリが足りなくてもメモリが足りない場合は、メモリが残っています。ファイルシステムのキャッシュに依存したくない場合は、データベース全体が収まるように 'shared_buffers'を十分大きく設定してください。 –