私は、データベースが遅いときだけ自分自身を明示するバグを持っています。これは、最も単純なデータベース操作(選択など)にも適用されます。どのようにテストで遅いSQLデータベースをシミュレートするには?
私はデータベースを低速にするテストを作成したいと思います。どうやってするか?
私はSpring Boot、Spring Data、Hibernate、MariaDBを使用します。
理想的には、Javaアプリケーションのテストコードに「遅いデータベース」部分が完全に含まれるようにします。そうすれば、テストは完全に自動化され、自己完結型になります。
1回のテストでデータベースアクセスを遅くしたい(すべてのアクセスに対してグローバルではない)。
私は睡眠
で前(SELECT)データベース・トリガーを導入することが提案された。しかし、それは一つのテストのためだけではアクセスしない、ダウンすべてのアクセスが遅くなるため、これは、柔軟ではありません。
簡単な答えは、Thread.sleepが埋め込まれたテストリポジトリクラスを作成することです。 – duffymo
'Thread.sleep'を使って@duffymoを実行すると、意図的に減速するのに似ていますが、どれくらい減速するかは分かりません。 – px06
悪い考えですか?それはテストです - それは私がそれを理解している全体のアイデアです。あなたが望むなら、それをある範囲にわたってランダムな値にすることができます。要点は、故障に関連する遅さの程度が分かっていることです。 – duffymo