Effort Unit測試:參數'xmlReader'無效


我目前正在嘗試使用“Effort”框架( http://effort.codeplex.com/wikipage?title=Tutorials&referringTitle=Home )對實體框架的上下文類進行單元測試

如果我的單元測試項目有兩個包含方法的類使用努力,那麼我得到以下錯誤:

參數'xmlReader'無效。必須至少提供一個.ssdl工件。

看起來,使用多個方法在多個類中使用工作會導致錯誤。我寧願不在一個班級中擁有所有的單元測試功能。

代碼測試正在運行:

IDataLoader loader = new Effort.DataLoaders.CsvDataLoader(Path.Combine(TestContext.DeploymentDirectory, "csvFiles"));
using (EntityConnection connection = Effort.EntityConnectionFactory.CreateTransient("name=Entities", loader))
{
    BussinnesLayer.Customer[] customers = Customer.GetCustomers(connection);
    Assert.IsTrue(customers.Length > 0, "Customer list length = 0");
}

App.Config包含以下實體連接字符串:(刪除敏感數據)

IDataLoader loader = new Effort.DataLoaders.CsvDataLoader(Path.Combine(TestContext.DeploymentDirectory, "csvFiles"));
using (EntityConnection connection = Effort.EntityConnectionFactory.CreateTransient("name=Entities", loader))
{
    BussinnesLayer.Customer[] customers = Customer.GetCustomers(connection);
    Assert.IsTrue(customers.Length > 0, "Customer list length = 0");
}

任何幫助,將不勝感激。

一般承認的答案

我遇到了同樣'xmlReader'無效的錯誤。

問題是找到ssdl工件。它在稍後引用我的Entity Framework對象的測試中工作,但只是自己創建連接會失敗。

對我有所幫助。

嘗試修改App.Config行以包含程序集名稱而不是*。因此,如果您的程序集名為Project1.EF,您的App.Config行將類似於:

<add name="Entities" connectionString="metadata=res://Project1.EF/Model.csdl|res://Project1.EF/Model.ssdl|res://Project1.EF/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=servername;initial catalog=database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />




許可下: CC-BY-SA
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因