NS substitute에 문제가 있습니다. 내 (무효) 메소드 ReportingCycleDeliveryRepository.Add()
어떤 ReportingCycleDelivery 인수로 호출 될 때 사용할 인수 옵션을 결정할 수 없습니다.
ReportingCycleDeliveryRepository
.When(f => f.Add(Arg.Any<ReportingCycleDelivery>()))
.Do(x => RepCycleDeliveries.Add((ReportingCycleDelivery)x[0]));
그래서, 내
RepCycleDeliveries
목록에이 항목을 추가해야합니다 : 나는이 짧은 코드가 있습니다.
하지만 그 대신, 그것은 예외가 발생합니다 :
NSubstitute.Exceptions.AmbiguousArgumentsException을
"를 사용하는 인수 스펙을 확인 할 수 없습니다 는 동일한 유형의 모든 인수에 대한 사양을 사용하십시오.."
왜 그럴까요? NS substitute가 사용할 올바른 인수 스펙을 결정할 수없는 이유는 무엇입니까? 인수가 어떤 ReportingCycleDelivery
항목이 될 수 있다는 힌트를 분명히 제공합니다.
Add 메서드가 오버로드 될 수 있습니까? –
hmm 내 ReportingCycleDeliveryRepository.Add() 메서드는 제네릭 형식입니다. void (T 엔터티)을 추가합니다. 여기서 T : class; 그 쪽이 맞는 거 같아요. 해결책이 있습니까? –
아니요, 제네릭이 문제가 아니어야합니다. 내가 의미했던 것은 더 일반적인 매개 변수를 취하는 Add의 과부하가 추가 된 경우였습니다. 그러나 나는 추측하지 않는다 :) –