我尝试测试我的实体类,但我总是得到一个错误:NUnit的和App.config中
System.Data.MetadataException
:
无法加载指定的元数据资源。
我认为问题出在连接字符串和App.config
。我尝试了很多东西:添加一些东西来构建事件,更改配置名称,将配置文件复制到解决方案文件夹,项目文件夹,project_folder/bin/debug,再次更改很多名称......但它仍然不起作用。
我有一个包含3个项目是 “AppProject” 的解决方案:
- “实体”
- “WebTest的”
- “MVCApp”
实体项目具有.edmx
文件,和简单的POCO课程。当我将Entity/App.config
的连接字符串添加到MVCApp/Web.config
时,“MVCApp”和数据库工作正常。
当我将Entity/App.config
复制到WebTest/App.config
它不起作用。我不知道问题出在哪里。
我使用了一个Visual NUnit,但是当我尝试在NUnit中打开时仍然不起作用。
我App.config
:
<connectionStrings>
<add name="UserDB"
connectionString="metadata=res://*/Model.Entity.csdl|
res://*/Model.Entity.ssdl|
res://*/Model.Entity.msl;
provider=System.Data.SqlClient;
provider connection string=
"Data Source=.\SQLExpress;
Initial Catalog=TestDB;
Integrated Security=True;
MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
<!-- NOTE: line breaks in the above connection string have been inserted only
for better legibility. -->
</connectionStrings>
如果您使用的是数据库资源,那么您基本上不会创建单元测试,而是创建一个集成测试。你应该为你的单元测试嘲笑数据库连接。 – Prutswonder 2011-03-25 09:41:42
Oo谢谢你的回答。之前,当我测试数据库我总是开始交易,做一些数据库,检查结果和回滚事务。 – user634199 2011-03-25 10:02:43
您是否参考WebTest项目中的实体项目? – 2011-03-25 10:24:41