2

NSubstitute に問題があります。私はこの短いコードを持っています:

ReportingCycleDeliveryRepository
.When(f => f.Add(Arg.Any<ReportingCycleDelivery>()))
.Do(x => RepCycleDeliveries.Add((ReportingCycleDelivery)x[0]));

したがって、(void) メソッドReportingCycleDeliveryRepository.Add()が ReportingCycleDelivery 引数で呼び出されると、この項目がRepCycleDeliveriesリストに追加されます。

ただし、代わりに例外をスローします。

NSubstitute.Exceptions.AmbiguousArgumentsException

「使用する引数仕様を決定できません。同じ型のすべての引数に仕様を使用してください。」

何故ですか?NSubstitute が使用する正しい引数指定を決定できないのはなぜですか? 引数は任意のReportingCycleDelivery項目にすることができるというヒントを明確に提供しています。

4

1 に答える 1

2

コードを次のように変更して、希望どおりに動作させることができるはずです。

ReportingCycleDeliveryRepository
    .When(f => f.Add(Arg.Do<ReportingCycleDelivery>(
        x => RepCycleDeliveries.Add(x[0])));

ReportingCycleDeliveryRepositoryと のコードを見ないと、このエラーが発生する理由を正確に言うのは困難ですReportingCycleDelivery

于 2013-03-14T19:01:58.800 に答える