acaba de programar el objeto de código auxiliar para dos llamadas separadas. Si llama a stubObj.Get nuevamente, debe obtener lo que Guid.NewGuid
generó. Puede preparar su objeto falso para cualquier cantidad de invocaciones de diferentes tipos. Por este motivo, no tiene sentido esperar que la última llamada .Stub
para una invocación determinada reemplace los llamados .Stub
anteriores de esa llamada.
En su código de prueba, que debe ser breve y ordenado, nunca debería haber un caso en el que deba 'deshacer' tal programación del simulacro en la forma en que parezca querer hacerlo.
Si lo que debe devolverse es una cuestión condicional que varía según otros bits del código de prueba en varias llamadas a este bloque de código, lo último que desea es que la magia haga que los lectores tengan que descubrir qué significado. Si es condicional, debes aclararlo.
Y luego, cuando se ha dejado claro, refactorearlo como usted no debe tener lógica condicional en las pruebas (véase Patrones de prueba xUnit)
yo no entiendo muy bien por qué quiere 'sobrescribir' una expectativa. El comportamiento me parece bien. Solo una especulación de mi parte: si está tratando de reutilizar o reciclar un talón para otra afirmación, entonces no debería hacer eso. Esa no sería una buena práctica para escribir pruebas. –