我正在學習VS2010中的單元測試功能中構建的微軟,並遇到了一個問題。單元測試MVC 3和實體框架
[TestClass]
public class HomeControllerTest
{
[TestMethod]
public void SomeTest()
{
//Arrange
HomeController controller = new HomeController();
//Act
ViewResult results = controller.Index() as ViewResult;
//Assert
ViewDataDictionary viewData = results.ViewData;
Assert.AreEqual(null, viewData["Message"]);
}
}
我知道這將返回失敗,這不是一個問題。但是,什麼是問題是我打我的EntityFramework模型「myModel.edmx」並得到錯誤"System.ArgumentException: The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid."
這是在文件MyModel.Designer.cs中。有問題的線是:
public Tool_Entities() : base("name=Tool_Entities", "Tool_Entities") { this.ContextOptions.LazyLoadingEnabled = true; OnContextCreated(); }
我知道這條線是好的,因爲當我運行非測試項目,我可以連接到這個模型罰款。
看看這篇文章:http://bit.ly/bF7jL3。它解釋瞭如何圍繞您的O/RM構建(啓用LINQ)抽象。 – Steven
你的測試是在一個單獨的項目中嗎? (在這種情況下,測試運行自己的app.config) –