1

目標: データベース テスト (異なるデータベースを使用) を実行して、並行して実行します。

Resharper の Nunit オプションを使用して、ユニット テストをビジュアル スタジオに統合しています。Resharper では、並行して実行するアセンブリの数を設定できます。シリアルで実行した場合、テストが失敗することはありません。ただし、並行して実行するアセンブリの数を 3 つ以上 (まだ失敗したことはありませんが、おそらく 2 つ) に設定すると、一部のデータベース テストが一貫して失敗します。

私たちの推測では、データ プロバイダーはテストの対象から外されつつあるということです。Spring を IOC として使用し、テストではトランザクション管理も処理します。以前のテストではシードされたデータが必要でしたが、新しいテストでは空のデータベースが想定され、テストに必要なデータが作成されます。テスト フィクスチャのブートストラップは db プロバイダーの接続文字列プロパティを設定しているため、別のテストを並行して実行すると、プロバイダーがテストの下から変更される可能性があると考えられます。

いずれにせよ、データベース テストを並行して実行し、Spring で得られるトランザクション管理とテスト クリーンアップを失わないようにするとよいでしょう。

各テストで実行されるブートストラップは、接続文字列 (および db プロバイダー接続文字列) を設定しています。

これらのテスト (異なる接続文字列を使用) を並行して実行する方法に関するアイデア。

4

0 に答える 0