統合テストで遭遇すると思う1つの問題は、複数のテストが同じデータベースにアクセスすることです。現在、これは問題ではありませんが、同じデータベースにアクセスする複数のアプリケーションが存在することはわかっています。この問題が発生する前に回避する方法を考えているところです。
私がよく見たアイデアはトランザクションを使用することです。起動時にトランザクションを開始してから、ティアダウンでトランザクションをロールバックします。これは、同じデータベーステーブルにアクセスする複数のテストが互いに影響を及ぼさないことを意味します。私の問題は、私の場合、MySQLで使用しているテーブルの85〜95%がトランザクションをサポートしないMyISAMであるということです。
トランザクションをサポートしないストレージエンジンを回避する方法はありますか?それでも、複数のテストが互いに影響を与えずに同じテーブルにアクセスできるようにしますか?私が聞いたところによると、Ruby on Railsテストフレームワークはこのようにトランザクションを使用しますが、どのようにしてこの問題を回避しますか(またはそれらを行いますか)?