0

別のプロジェクトを参照するテスト プロジェクトがあり、そのプロジェクトは、Entity Framework 5.0 ファイル (edmx) を含む 3 番目のプロジェクトを参照します。データベース駆動型単体テストを Visual Studio から直接実行できることがわかりましたが、mstest から実行すると次のエラーが発生します。

System.Data.Entity.Infrastructure.UnintentionalCodeFirstException: データベース ファーストおよびモデル ファースト開発用の T4 テンプレートを使用して生成されたコードは、Code First モードで使用すると正しく動作しない場合があります。Database First または Model First を引き続き使用するには、実行中のアプリケーションの構成ファイルで Entity Framework 接続文字列が指定されていることを確認してください。

正常に動作する非データベース接続単体テストがあります。さまざまな app.config EF 接続文字列をいじりましたが、問題ないようです (すべてのテストは Visual Studio で正常に実行されます)。問題は、デスクトップまたはビルド サーバーでコマンド ラインから mstest を実行する場合です。これは私が使用するコマンドです:

MSTest.exe /nologo /searchpathroot:"\Binaries" /resultsfileroot:"\TestResults" /testcontainer:"\Binaries\driver.orderedtest" /testcontainer:"\Binaries\EF.DataAccess.dll" /publish:"http:/ /" /publishbuild:"vstfs:///Build/Build/99" /teamproject:"ProjectName" /platform:"Any CPU" /flavor:"Debug" /noisolation /detail:errormessage /detail:errorstacktrace /detail:stderr

ここで概説されているように、テスト プロジェクト内のすべての dll への参照があります: Entity Framework カスタム ツールはモデルをリソース ファイルとして正しく埋め込んだりロードしたりしません

私はこれを数日間断続的に行ってきましたが、これはEF 5.0のバグであるように見えますが、接続リンクによると、これは修正されるはずですが、そうではないようです。

4

0 に答える 0