は、質問にはいくつかの提案された解決策がありました「アプリケーションでのSQLステートメントをテストする方法」 -統合テストに実際のデータベースを使用するには?
- RAMメモリを使用して - 私はテストが起こるステージング環境の構成を変更することはできません。
- H2を使用する - PostgreSQLモードでもあまり互換性がありません
- 同じデータベースを使用してテストを実行します。
- メモリ内モードを使用する - PostgreSQLにはメモリがありません。
第3のものは実行可能であり、私はTest Containersを見ましたが、これは実際には美しい解決策ですが、比較的新しいものです。その結果、当社はそれを採用することに懐疑的です。
Mybatis
を使用してPostgreSQL
にアクセスします。
もう1つの方法は、スキーマ全体を再作成して、テストの前に必要な表を移入することです。ここで問題は、私は作成し、同じ名前のテーブルを持つスキーマを削除することができます。名前の衝突を避けるためには、スキーマの名前を変更する必要があります。その結果、クエリでも名前を変更する必要があります。クエリを変更せずにダミーのスキーマを指すようにする方法はありますか?
これは本当に悪い考えです.1つの間違いであなたは*本当の*データを破壊します。 –
新しいデータベース/スキーマをテストのために使用するだけで何か問題はありますか?プロダクション、ライブ、または実際にデータベースをデバッグすることは絶対に避けてください。 – px06
実際には生産されていません。テストはCIの間に行われます。私のローカルシステムにはありません。 –