Tengo esta confusión todo el tiempo. Si escribo un código que utiliza código falso para afirmar alguna operación, ¿cómo puedo confiar en mi implementación real cuando se inicia realmente utilizando los objetos reales en lugar de los falsos?¿Cuándo usar stubs y mocks?
Por ejemplo, tengo este código -
[Test]
public void CanCreateContactsWithData()
{
using(ISession session = factory.OpenSession())
using (ITransaction trans = session.BeginTransaction())
{
_contactId = (long) session.Save(contact);
trans.Commit();
}
Assert.AreNotEqual(0, _contactId);
}
Este código prueba la implementación de un "contacto" objeto ya sea que se guarda en la base de datos o no. Si, por casualidad, utilicé un talón en lugar de una conexión de base de datos real, ¿necesito realizar una prueba por separado para almacenarlo en la base de datos? Y, ¿ustedes lo llaman como pruebas de integración?
Las respuestas son sinceramente apreciadas.
+1 para el artículo. Muy útil :) – Goaler444