プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2018/08/28

Moq でインデクサーの振る舞いを実装する

event_note2018/08/28 6:17

Moq でインデクサーに対する振る舞いをどう実装したら良いかわからなかったので、調べてみました。

具体的には、ASP.NET Core で多言語対応を行う際に、IStringLocalizer に対する振る舞いを Moq で実装する必要がありました。

この場合、以下のように実装すれば OK です。

var mock = new Mock<IStringLocalizer<HomeController>>();
mock.Setup(p => p[It.IsAny<string>()]).Returns(new LocalizedString("foo", "bar"));
var controller = new HomeController(mock.Object);