PHPUnit テストに PDO Sqlite インメモリ DB を使用する
-
26-09-2019 - |
質問
最近、Zend Framework アプリケーションをテストするために、PHPUnit を xDebug と連携させました。私が ZF を使用しているという事実は、この質問に何の違いもありません。完全を期すために言及しただけです。
とにかく、すべて問題なく動作しますが、今度は PDO SQLite を使用してインメモリ データベースをセットアップしたいと思います。これは正常に完了し、テーブルを作成してデータを挿入しました。ただし、この作業には時間がかかるようで、エクスポートの構文が SQLite のニーズと一致しなかったため、しばらくいじる必要がありました。
また、SQLite はアプリケーションが使用する制約 (そうですか?) をサポートしていないため、制約をテストできない場合、プロセス全体が時間の無駄に思えます。
SQLite の使用は私の問題に対する正しい解決策ですか?誰かがそれを使用するより良い方法、または単体テストのための他のDBソリューションを持っていますか?
解決
単体テストの考え方は、より小さな部分をテストすることです。そのため、1 つの方法は、たとえば次のように、少量の (静的) サンプル データを操作することです。 http://www.phpunit.de/manual/3.4/en/database.html
すべての制約を備えた完全なデータベースに対して本当にテストする必要がある場合は、アプリケーションの特定のデータベース (たとえば、MySQL) を使用する以外に方法はないと思います。
所属していません StackOverflow