moq
Propiedades de burla
Buscar..
Propiedades de aplastamiento automático
A veces, quieres simular una clase o una interfaz y hacer que sus propiedades se comporten como si fueran simples captadores y definidores. Como este es un requisito común, Moq proporciona un método de acceso directo para configurar todas las propiedades de un simulacro para almacenar y recuperar valores:
// SetupAllProperties tells mock to implement setter/getter funcationality
var userMock = new Mock<IUser>().SetupAllProperties();
// Invoke the code to test
SetPropertiesOfUser(userMock.Object);
// Validate properties have been set
Assert.AreEqual(5, userMock.Object.Id);
Assert.AreEqual("SomeName", userMock.Object.Name);
Para completar, el código que se está probando está abajo.
void SetPropertiesOfUser(IUser user)
{
user.Id = 5;
user.Name = "SomeName";
}
Propiedades con setters privados.
A veces desea crear un simulacro de una clase que tiene un configurador privado:
public class MockTarget
{
public virtual string PropertyToMock { get; private set; }
}
O una interfaz que solo define un captador:
public interface MockTarget
{
string PropertyToMock { get; }
}
En ambos casos, puede ignorar el establecedor y simplemente configurar el captador de propiedades para devolver el valor deseado:
var mock = new Mock<MockTarget>();
mock.SetupGet(x => x.PropertyToMock).Returns("ExpectedValue");
Assert.AreEqual("ExpectedValue", mock.Object.PropertyToMock);
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow