Con NSubstitute, ¿hay alguna forma de capturar el valor que pasa a un setter de la propiedad?NSubstituir la invocación de la propiedad "setter" interceptor solo
E.g. si tengo la siguiente interfaz:
public interface IStudent {
int Id { set; }
string Name { set; }
}
El decir que tengo un sustituto por ejemplo creado:
var _studentSub = Substitute.For<IStudent>();
¿Hay alguna manera de que pueda interceptar y capturar el valor si cualquiera de los "set" métodos de el sustituto se invoca?
Para una propiedad con get/set, ¿Se puede utilizar sub.Name = Arg.Do (x => nombre = x); para capturar un valor y aún usar sub.Name.Returns ("MySampleName"); para devolver los valores? ¡La 'devolución' no parece funcionar para nosotros! –
bstack
Acabo de marcar, parece ser un error que mezcla Arg.Do y Returns para la misma propiedad get/set. Funciona si cambias Arg.Do por When..Do. p.ej. "sub.When (x => x.Name = Arg.Any()). Do (x => name = x.Arg ());" –
Ver [informe de errores] (https://github.com/nsubstitute/NSubstitute/issues/59) para trabajar When..Do example. –