歡迎任何幫助。如何實現和測試ASP.NET MVC FakeRepository
我正在學習使用ASP.NET MVC框架編寫代碼,我對此概念進行了銷售。
我現在主要的絆腳石是如何設置和測試替換數據庫的存儲庫。爲了測試MVC應用程序,我創建了一個類並將其稱爲fakerepository.cs。此類實現IContactManagerRepository接口中的方法。
namespace MyTestMVCProject.Models
{
public class FakeContactManagerRepository : IContactManagerRepository
{
IList<Contact> _contacts = new List<Contact>();
#region IContactManagerRepository Members
public Contact Create(Contact contact)
{
_contacts.Add(contact);
return contact;
}
public Contact Edit(Contact contact)
{
throw new NotImplementedException();
}
public void Delete(int id)
{
throw new NotImplementedException();
}
public IList<Contact> ListContacts()
{
return _contacts;
}
#endregion
}
}
在下面的嘗試測試中,我想確保聯繫人已創建,ID值是正確的。
[Test]
public void Test_02_ContactController_Passes_ViewData_To_Details_View()
{
// Arrange
ContactController _controller = new ContactController();
// Act
var _contact = new Contact
{
Id = 1,
FirstName = "Donald",
LastName = "Duck"
};
var _result = _controller.Create(_contact) as ViewResult;
var contact = _result.ViewData.Model as Contact;
// Assert
Assert.AreEqual(1, _contact.Id);
}
不幸的是,測試總是失敗。
當然,我對測試很新,但我通過搜索谷歌並觀看ASP.NET MVC視頻,在短時間內找到了很多東西。
任何人都可以建議我如何測試一個fakerepository返回一個列表到ViewResult?