c# - tutorial - Moq simula método sin especificar el parámetro de entrada
unit test c# ejemplo (3)
Tengo un código en una prueba que usa Moq:
public class Invoice
{
...
public bool IsInFinancialYear(FinancialYearLookup financialYearLookup)
{
return InvoiceDate >= financialYearLookup.StartDate && InvoiceDate <= financialYearLookup.EndDate;
}
...
}
Entonces, en una prueba unitaria, intento burlarme de este método y hacer que vuelva verdadero
mockInvoice.Setup(x => x.IsInFinancialYear()).Returns(true);
¿Hay alguna forma de escribir esta línea así que no tengo que especificar la entrada a IsInFinancialYear
? es decir. Para que no aparezca en el código cuál es el parámetro de entrada, ¿devolverá verdadero lo que se le pase?
Intenta usar It.IsAny<FinancialYearLookup>()
para aceptar cualquier argumento:
mockInvoice.Setup(x => x.IsInFinancialYear(It.IsAny<FinancialYearLookup>())).Returns(true);
Puede usar It.IsAny<T>()
para hacer coincidir cualquier valor:
mockInvoice.Setup(x => x.IsInFinancialYear(It.IsAny<FinancialYearLookup>())).Returns(true);
Consulte la sección Argumentos coincidentes del inicio rápido.
Puedes probar lo siguiente:
7pass.wordpress.com/2014/05/20/…
Permite:
mock
.SetupIgnoreArgs(x => x.Method(null, null, null)
.Return(value);