0

EFProf(http://www.hibernatingrhinos.com/products/EFProf)を使用したASPボイラープレート(http://www.aspnetboilerplate.com/)の問題があります。ASP EFProf(Entity Framework Profiler)を使用した単体テストでの作業のボイラプレートの問題

単体テストの場合、ASPボイラープレートは、メモリ内のデータベースをモックするためにEffort(https://github.com/tamasflamich/effort)を使用します。

EFProfへの参照を追加せずに単体テストを実行すると、テストは正しく実行されます(緑色)。

私は、初期化の行を追加した場合:いずれかの私のテストベースのctorで

HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize(); 

や私のアプリケーションプロジェクトのInitialize()、私は次のエラーを取得する:

Castle.MicroKernel.ComponentActivator.ComponentActivatorException 

ComponentActivator:インスタンス化しませんでしたMyApp.EntityFramework.MyAppDataContext

内部例外は、関連する情報があります。

Error: Unable to cast object of type 'Effort.Provider.EffortConnection' to type 'HibernatingRhinos.Profiler.Appender.ProfiledDataAccess.ProfiledConnection'.

は努力EFProfとだけ互換性がありませんか?あるいは私は何かを盲目的に明白な私の初期化で間違ってやっていますか?

答えて

1

私自身の質問に答えます:EbortはDbContectオブジェクトを偽造しますが、実際にはメモリ内にSQLを作成しないため、プロファイラによって傍受するものはありません。また、EF6のDatabase.LogをEffortとともに使用しているときにCommandTextが常にヌルである理由もあります。この記事ごとの努力を利用Aspの定型のテストプロジェクトの代替としてテストのためのインメモリデータベースの実装を使用するEF6で部品番号を使用して試してみるつもり

アム:https://msdn.microsoft.com/en-us/library/dn314429(v=vs.113).aspx

+0

マークあなたの答え受け入れたとして。 – aaron

関連する問題