raw*_*mes 3 c# unit-testing effort
我目前正在尝试使用"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");
}
Run Code Online (Sandbox Code Playgroud)
App.Config包含以下实体连接字符串:(删除敏感数据)
<add name="Entities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string="data source=servername;initial catalog=database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
小智 7
我遇到了同样的"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="data source=servername;initial catalog=database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2330 次 |
| 最近记录: |