无法实现资源库(最小起订量)
本文关键字:实现 资源库 | 更新日期: 2023-09-27 18:37:24
我有下一个界面
public interface IMyInterface
{
string this[string key] { get; set; }
}
我想在我的测试中实现 get/set
var _Nvp = //...
var mockMyInterface = new Mock<IMyInterface>();
mockMyInterface
.Setup(e => e[It.IsAny<string>()])
.Returns((string key) => _Nvp[key]);
mockMyInterface
.SetupSet(c => c[It.IsAny<string>()] = It.IsAny<string>())
.Callback((string key, string value) => { _Nvp[key] = value; }));
但它不起作用..没有错误,没有消息..
var oj = mockMyInterface.Object;
oj["key"] = "value";
var value = oj["key"];
变量值始终为空。
查看以下 SO 评论。
似乎Moq在SetupSet上解析c[It.IsAny<string>()]
存在限制。当指定特定键时,它似乎有效。
在您的情况下,您可能希望使用具有内部状态的存根来实现您的接口,而不是模拟。