2017-01-03 113 views
0

我试图让nsubstitute嘲笑的IStringLocalizer一个实例这样嘲讽IStringLocalizer与nsubstitute

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

我怎样才能做到这一点?

+3

什么不工作?任何错误消息?什么是IStringLocalizer? – andreasnico

回答

1

试试这个:

var mock = Substitute.For<IStringLocalizer<SomeClass>>(); 

mock["Foo"].Returns(new LocalizedString("Foo", "XXXXXXXA")); 
Console.WriteLine(mock["Foo"]); // -> Write "XXXXXXXA" 

IStringLocalizer文档,你可以看到这种类型的该索引是回报LocalizedString不能是显式/隐式转换为System.String所以你需要明确指定新LocalizedStringReturns方法。