インメモリ データベース コンポーネントをテストするために NHibernate と SQLite を使用するいくつかのテストがあります。テストは Visual Studio で正常に実行されますが、MSTest.exe コンソール ランナーはすべてのテストの実行を拒否します。コンソール ランナーは、TeamCity を使用してすべてのテストを実行するビルド サーバーによって使用されます。マシンで MSTest.exe を使用して、ローカル コンソール ランナーも失敗することを確認します。
私はこの内部例外を持っています:
NHibernate.HibernateException: Could not create the driver fromNHibernate.Driver.SQLite20Driver, NHibernate, Version=3.3.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed
これに対するほとんどの回答には、SQLite への正しい参照アセンブリを App.config に追加することが含まれますが、テスト プロジェクトはクラス ライブラリです。
テスト プロジェクトでは、次のアセンブリを参照しました。
- NHibernate 3.3.1.4000
- System.Data.SQLite (x86、x64) 1.0.89.0
- Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 10.0.0.0 (C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v4.0\、v2.0 を指すデフォルトの参照を変更しましたVisual Studio では問題なく実行されますが、次のエラーのため、ビルド サーバーでテストを実行しません。
ClassInitialize のシグネチャが間違っています。パラメーター 1 は Microsoft.VisualStudio.TestTools.UnitTesting.TestContext 型である必要があります
次のツールを使用します。
- MSTest.exe (C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\MSTest.exe)
- .NET フレームワーク 4.0
- ビジュアル スタジオ 2012
これを進める方法はありますか?ありがとう !