導入すると大幅に高速化できる可能性があります。使ったプロジェクトありましたが、導入後なんと5分にまで短縮されました。回せるようになり開発スピードも上がりました。何がボトルネックになっていたか?テストケースごとに実行されるテストデータのリロードクエリがボトルネックになっていました。クエリのセットのことで、積み重なると高コストなクエリになります。名の一覧を記述します。例として、テストクラスは以下のようになります。テストケースの実行前に、それぞれ3テーブル分のリロードクエリが実行されます。同じように、このクラスに100個のテストケースがあったとしたらリロードクエリは最低で300回実行されます。コストになることは想像に難くないと思います。無意味に何度もリロードしている訳ではありません。毎回リロードすることで、テストが書きやすくなるというメリットがあります。テスト中にいくらテストデータを書き換えたとしても、次のテストでは元の状態にリセットされているので、テストケース間でテストデータの状態について副作用を気にする必要がなくなります。ソースを見ると分かりますが、このプラグインのすることは非常にシンプルです。上述の「毎回同じテストデータの状態でテストを開始したい!」という要求を満たしつつ、必要なときだけリロードするようにし、リロードクエリの実行回数を削減します。テーブルのチェックサム値を取っておき、次以降のリロードは差分があったときだけ行うようにします。チェックサム値に差分がなければテストデータが変更されていないということなので、リロードもスキップして問題ないということになります。プラグインで高速化できる可能性のあるプロジェクトということで、以下に該当するプロジェクトであればプラグインを導入するだけで大幅にテスト時間を削減できる可能性があります。いずれかを使用しているテストケース数とテーブル数が多いプロジェクト複数テーブルを参照する結合的なテストをしているプロジェクトまた、もしこのプラグインが使えない環境のプロジェクトであっても、不要なロードを減らすというアプローチ自体は有効かもしれません。その他のアプローチ他のアドベントカレンダーになりますが、素晴らしい記事を見かけましたのでそちらも紹介しておきます。無くすることで高速化するというアプローチです。併用することで更に高速化が見込めます。試しに手元の1500個ほどテストケースがあるプロジェクトで試してみたら、記事に書かれてる通り40%くらい削減できた。やったことは二行追記するだけ。いった月名の略称を見たときにそれが何月かスムーズに思い出せますか?思い出せる人はとてもえらいです。いう文字を見て何月か思い出すことが出来ずショックを受けました。なんだか6月感が薄いと思うんですよね。しようもない話ですみません...。何とかするためシェルスクリプトでサクッと暗記マシーン(?)を作ることにしました。動いてるところランダムに問題を出題し、答えるだけのシンプルなツールです。キーなどでスクリプトを終了するまで無限に出題され続けるスパルタ仕様になっています。内容を取り入れた実装にしています。done}main回答の入力待ちは無くしてランダムに出題と回答表示を繰り返すだけのほうが暗記カードっぽくなるかもしれませんね。月名に限らず、問題集の定義を書き換えれば英単語の単語カードなどでも使えるとおもいます。出来れば問題データは別ファイルに定義した方がいいですが今回は省略したいとおもいます。31Author明日を今日より生きやすく。johnregan3.ホーム。