c# - textos - No se pueden determinar las especificaciones de los argumentos para usar
texto argumentativo (1)
Estoy teniendo un problema con NSubstitute. Tengo este código corto:
ReportingCycleDeliveryRepository
.When(f => f.Add(Arg.Any<ReportingCycleDelivery>()))
.Do(x => RepCycleDeliveries.Add((ReportingCycleDelivery)x[0]));
Entonces, cuando mi método (nulo) ReportingCycleDeliveryRepository.Add()
se invoca con cualquier argumento ReportingCycleDelivery, debería agregar este elemento a mi lista RepCycleDeliveries
.
Pero, en cambio, arroja una excepción:
NSubstitute.Exceptions.AguigesArgumentsException
"No se pueden determinar las especificaciones de los argumentos que se usarán. Utilice las especificaciones para todos los argumentos del mismo tipo".
¿Porqué es eso? ¿Por qué NSubstitute no puede determinar las especificaciones de argumento correctas para usar? Estoy proporcionando claramente una pista, que el argumento puede ser cualquier elemento ReportingCycleDelivery
.
Debería poder cambiar su código a lo siguiente y hacer que funcione de la manera que le gustaría:
ReportingCycleDeliveryRepository
.When(f => f.Add(Arg.Do<ReportingCycleDelivery>(
x => RepCycleDeliveries.Add(x[0])));
Es difícil decir exactamente por qué podría obtener este error sin ver el código para ReportingCycleDeliveryRepository
y ReportingCycleDelivery
.