繁体   English   中英

使用 IStringLocalizer 进行单元测试 class<t></t>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM