Con NSubstitute, esiste un modo per acquisire il valore che si passa a un setter di proprietà?NSubstitute intercettazione "setter" solo invocazione proprietà
E.g. se ho la seguente interfaccia:
public interface IStudent {
int Id { set; }
string Name { set; }
}
Il dire che ho un sostituto per esempio creato:
var _studentSub = Substitute.For<IStudent>();
C'è un modo per intercettare e catturare il valore se uno qualsiasi dei "set" metodi di il sostituto è invocato?
Per una proprietà con get/set, puoi utilizzare sub.Name = Arg.Do (x => nome = x); per acquisire un valore e utilizzare ancora sub.Name.Returns ("MySampleName"); per restituire valori? I "ritorni" non sembrano funzionare per noi! –
bstack
Appena controllato, sembra un bug che combina Arg.Do e Returns per la stessa proprietà get/set. Funziona se si passa Arg.Do per When..Do. per esempio. "sub.When (x => x.Name = Arg.Any()). Do (x => nome = x.Arg ());" –
Vedere [segnalazione bug] (https://github.com/nsubstitute/NSubstitute/issues/59) per il funzionamento di When..Do example. –