Accueillez toute aide.Comment implémenter et tester ASP.NET MVC FakeRepository
Je suis en train d'apprendre à écrire du code en utilisant le framework ASP.NET MVC, je l'ai en quelque sorte vendu sur ce concept. En ce moment, ma principale pierre d'achoppement est de savoir comment installer et tester un référentiel qui remplace la base de données. Pour tester l'application MVC, j'ai créé une classe et l'ai appelée fakerepository.cs Cette classe implémente des méthodes à partir de l'interface 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
}
}
Dans la tentative de test ci-dessous, je souhaite m'assurer que le contact a été créé et que la valeur d'ID est correcte.
[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);
}
Malheureusement, le test échoue toujours.
Bien sûr, je suis très novice en matière de test, mais j'ai beaucoup appris en peu de temps en effectuant des recherches sur google et en regardant des vidéos ASP.NET MVC.
Quelqu'un peut-il suggérer comment je peux tester un fakerepository qui renvoie une liste à ViewResult?