我试图让nsubstitute像这样模拟一个IStringLocalizer
的实例
var mock = Substitute.For<IStringLocalizer<SomeClass>>();
mock["Foo"].Returns("Bar");
Assert.That(mock["Foo"], Is.EqualTo("Bar"));
我该怎么做?
答案 0 :(得分:2)
试试这个:
mMediaRecorder.stop();
mMediaRecorder.reset();
showPreview();
setUpMediaRecorder(); // this is key to not get an error from the MediaRecorder
在IllegalArgumentException: Bad argument passed to camera service
的文档中,您可以看到此类型的索引器返回var mock = Substitute.For<IStringLocalizer<SomeClass>>();
mock["Foo"].Returns(new LocalizedString("Foo", "XXXXXXXA"));
Console.WriteLine(mock["Foo"]); // -> Write "XXXXXXXA"
,无法显式/隐式强制转换为IStringLocalizer
,因此您需要明确指定新LocalizedString
} {} {}}。{/ p>
答案 1 :(得分:2)
如果你想要一个只需将ressoure代码作为翻译结果返回的通用模拟,你可以使用:
mock[Arg.Any<string>()].Returns(p => new LocalizedString((string)p[0], (string)p[0]));