欢迎任何帮助。如何实现和测试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?