簡體   English   中英

無法確定要使用的參數規范

[英]Cannot determine argument specifications to use

我在使用NSubstitute時遇到問題。 我有這個短代碼:

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

因此,當我的(無效)方法ReportingCycleDeliveryRepository.Add()與任何ReportingCycleDelivery參數一起調用時,它應該將此項目添加到我的RepCycleDeliveries列表中。

但是,它拋出一個異常:

NSubstitute.Exceptions.AmbiguousArgumentsException

“無法確定要使用的參數規范。請對所有相同類型的參數使用規范。”

這是為什么? 為什么NSubstitute無法確定要使用的正確參數說明? 我顯然提供了一個提示,該參數可以是任何ReportingCycleDelivery項目。

您應該能夠將代碼更改為以下代碼,並使代碼按您希望的方式工作:

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

很難確切地說出為什么您會在沒有看到ReportingCycleDeliveryRepositoryReportingCycleDelivery的代碼的情況下出現此錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM