[英]GetString(IStringLocalizer, String, Object[]) returns null when Unit-Testing
[英]Unit Testing class with IStringLocalizer<T>
我有一個帶有構造函數的 class ,它注入了一個IStringLocalizer<T>
。
public MailBuilder(IStringLocalizer<MailTexte> stringLocalizer)
{ ... }
我正在嘗試設置假的字符串本地化器:
A.CallTo(() => this.stringLocalizer["ConfirmationMailTitel"]).Returns(subject);
但我得到了消息
IReturnValueArgumentValidationConfiguration LocalizedString 不包含“返回”的定義
IStringLocalizer 的交互如下所示:
LocalizedString this[string name] { get; }
如何在 FakeItEasy 中正確設置此索引器?
提前致謝
您收到異常是因為您很可能沒有返回正確的類型(即subject
)
如界面所示,索引器返回一個LocalizedString
。
這意味着需要相應地配置模擬。
//...
var stringLocalizer = A.Fake<IStringLocalizer<MailTexte>>();
key = "ConfirmationMailTitel";
var localizedString = new LocalizedString(key, "desired localised value here");
A.CallTo(() => stringLocalizer["ConfirmationMailTitel"]).Returns(localizedString);
//...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.