Effortフレームワーク(バージョン1.1.4)を使用して私のDB層をテストする際に問題が発生しています。作業単位のテストエンティティのフレームワーク6.1.3 DB-first
私はエンティティフレームワーク6.1.3を使用してDBレイヤーを持っています。モデルはデータベースファーストアプローチを使用して作成され、モデルを記述する*.edmx
ファイルがあります。
私はこのような努力でユニットテストで使用される追加のコンストラクタを公開する部分クラスを作成しました:
public partial class Entities
{
public Entities(DbConnection connection)
: base(connection, true)
{
}
}
シンプルなユニットテストは、次のようになります。
private Entities CreateContext()
{
//var connectionString = ConfigurationManager.ConnectionStrings["Entities"].ConnectionString;
//var connection = Effort.EntityConnectionFactory.CreateTransient(connectionString);
//return new Entities(connection as DbConnection);
var connection = Effort.EntityConnectionFactory.CreatePersistent("name=Entities");
var context = new Entities(connection);
return context;
}
[TestMethod]
public void Testing_Effort_Integration()
{
using (var context = CreateContext())
{
var entity = context.TableEntity.FirstOrDefault(i=> i.Id);
Assert.IsNotNull(entity);
}
}
ときI単体テストを実行すると、行の例外がスローされます。
var connection = Effort.EntityConnectionFactory.CreatePersistent("name=Entities");
{"プロバイダーはProviderManifestインスタンスを返しませんでした。"} InnerExceptionメッセージ:{"ストレージバージョンを判断できませんでした。有効な ストレージ接続またはバージョンのヒントが必要です。 "}、私が発見した
他の記事から*.edmx
ファイル内ProviderManifestToken
属性に変更することを提案『『2008』を』2012。これは、問題を解決するようですここで初めてコンテキストを使用しようとしたときではなく、私の別の例外を与える:「タイプ の プロバイダファクトリのプロバイダ名を特定できません
var entity = context.TableEntity.FirstOrDefault(i=> i.Id);
非サポート例外System.Data.EntityCli ent.EntityProviderFactory '。 ADO.NETプロバイダがアプリケーション設定にインストールまたは登録されていることを確認します。
この問題を解決する方法を知っている人は誰でも、私はエンティティフレームワーク6.1.3 DBを最初に使用してEffortを使用できますか?
EF4とEF5で作成されたDBテストのレイヤーをDB最初の方法でテストするために、Effort(バージョン1.1.4)を使用できました。これがEFバージョンが興味...