導入すると大幅に高速化できる可能性があります。使ったプロジェクトありましたが、導入後なんと5分にまで短縮されました。回せるようになり開発スピードも上がりました。何がボトルネックになっていたか?テストケースごとに実行されるテストデータのリロードクエリがボトルネックになっていました。クエリのセットのことで、積み重なると高コストなクエリになります。名の一覧を記述します。例として、テストクラスは以下のようになります。テストケースの実行前に、それぞれ3テーブル分のリロードクエリが実行されます。同じように、このクラスに100個のテストケースがあったとしたらリロードクエリは最低で300回実行されます。コストになることは想像に難くないと思います。無意味に何度もリロードしている訳ではありません。毎回リロードすることで、テストが書きやすくなるというメリットがあります。テスト中にいくらテストデータを書き換えたとしても、次のテストでは元の状態にリセットされているので、テストケース間でテストデータの状態について副作用を気にする必要がなくなります。ソースを見ると分かりますが、このプラグインのすることは非常にシンプルです。上述の「毎回同じテストデータの状態でテストを開始したい!」という要求を満たしつつ、必要なときだけリロードするようにし、リロードクエリの実行回数を削減します。テーブルのチェックサム値を取っておき、次以降のリロードは差分があったときだけ行うようにします。チェックサム値に差分がなければテストデータが変更されていないということなので、リロードもスキップして問題ないということになります。プラグインで高速化できる可能性のあるプロジェクトということで、以下に該当するプロジェクトであればプラグインを導入するだけで大幅にテスト時間を削減できる可能性があります。いずれかを使用しているテストケース数とテーブル数が多いプロジェクト複数テーブルを参照する結合的なテストをしているプロジェクトまた、もしこのプラグインが使えない環境のプロジェクトであっても、不要なロードを減らすというアプローチ自体は有効かもしれません。その他のアプローチ他のアドベントカレンダーになりますが、素晴らしい記事を見かけましたのでそちらも紹介しておきます。無くすることで高速化するというアプローチです。併用することで更に高速化が見込めます。試しに手元の1500個ほどテストケースがあるプロジェクトで試してみたら、記事に書かれてる通り40%くらい削減できた。やったことは二行追記するだけ。検索してパフォーマンス比較をしてみました。4274);※実験時は15個のORを繋げて検索しましたが長くなるのでここでは省略しています。スキャンになるんですね。変えてもほぼ同じ速度でした。句に指定する件数が多いとオプティマイザはフルスキャンを選択するため大幅に遅い結果になりました。すると何故か使えなくて困っていました。解決したので方法をメモしておきます。2.4.0事象PHPUnitでテストしようと思ったらこんなエラーが出ていました。325]ここで言われていることは二つ。インストールしてくださいということです。キャッシュエンジン設定はこうなってます。読み込んでいるので大丈夫そうです。オプションで実行して確認してみます。無効だと言われています。有効になっていますか」という旨のことを言われているので確認します。有効でしたが、apc.enable_cliが無効になっています。利用することが出来ません。/Applications/MAMP/bin/php/php5.4.10/conf/php.ini一番下に以下の設定を追記しました。再起動して再度確認します。インストールされていない件も対応します。インストール先を確認しておきます。php_dir/Applications/MAMP/bin/php/php5.4.10/lib/phpインストールします。使えるようになりました。似たような感じだと思います。31Author明日を今日より生きやすく。johnregan3.ホーム。