我嘗試測試我的實體類,但我總是得到一個錯誤: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