sqlpackage.exeを使用して、単体テストを実行する動的データベースを作成しています。これは100%の時間ローカルで機能しますが、TFSでは機能しません。すべての単体テストは、locahost\sqlexpressの統合セキュリティを使用します。TFSにより、sqlpackage.exeはランダムに次のエラーを返します。
単体テストでは、ここで説明するパターンを使用していますが、nhibernateのスキーマエクスポート機能とは対照的に、sqlpackageでdacpacを使用するようにいくつかの変更を加えています。
sqlpackage error : *** Could not deploy package.
sqlpackage error : Cannot open database "MessagesRepositoryTests" requested by the login. The login failed.
sqlpackage error : Login failed for user 'DOMAIN\TFSService'.
その他の(ランダムな)エラーには、ターゲットモデルのインポートに失敗したことを示す別の行が含まれます。
sqlpackage error : *** Could not deploy package.
sqlpackage error : Failed to import target model MessagesRepositoryTests. Detailed message Cannot open database "MessagesRepositoryTests" requested by the login. The login failed.
sqlpackage error : Login failed for user 'DOMAIN\TFSService'.
sqlpackage error : Cannot open database "MessagesRepositoryTests" requested by the login. The login failed.
sqlpackage error : Login failed for user 'DOMAIN\TFSService'.
「DOMAIN\TFSService」には、すべてのサーバーの役割(sysadmin、publicなど)が付与されています。
なぜこれが私のすべてのテストを通して断続的に現れるのか、誰かが手がかりを持っていますか?これは、TFSビルドの自動化された単体テストからのみ発生することを忘れないでください。