使用 nsubstitute 模拟 IStringLocalizer

Fat*_*ert 1 .net unit-testing mocking nsubstitute

IStringLocalizer我正在尝试让 nsubstitute 来模拟这样的实例

var mock = Substitute.For<IStringLocalizer<SomeClass>>();
mock["Foo"].Returns("Bar");
Assert.That(mock["Foo"], Is.EqualTo("Bar"));
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

小智 6

如果您想要一个仅返回资源代码作为翻译结果的通用模拟,您可以使用:

mock[Arg.Any<string>()].Returns(p => new LocalizedString((string)p[0], (string)p[0]));
Run Code Online (Sandbox Code Playgroud)