工作量单元测试:参数“xmlReader”无效

本文关键字:xmlReader 无效 参数 单元测试 工作量 | 更新日期: 2024-11-06 13:28:19

我目前正在尝试使用"努力"框架(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 包含实体连接字符串的以下内容:(删除敏感数据)

<add name="Entities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/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" />

任何帮助将不胜感激。

工作量单元测试:参数“xmlReader”无效

我遇到了同样的"xmlReader"无效错误。

问题原来是定位 ssdl 工件。 它在后来引用我的实体框架对象的测试中工作,但仅自行创建连接会失败。

这对我有帮助。

尝试修改 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" />