Dan*_*ose 10 c# unit-testing fakeiteasy
Moq允许模拟受保护的虚拟成员(参见此处).是否有可能在FakeItEasy中做同样的事情?
Pat*_*gne 26
它可以完成,但不能开箱即用.诀窍是实现IFakeObjectCallRule并通过Fake.GetFakeManager(foo).AddRule(myRule)将其添加到您的假冒.
我正在考虑实现这个功能,它会是这样的:
A.CallTo(foo).WhereMethod(x => x.Name =="MyProtectedMethod").返回("what");
但是语法还不是很精致.
编辑 现在实现上述功能:
A.CallTo(foo).Where(x => x.Method.Name == "MyProtectedMethod").WithReturnType<int>().Returns(10);
Run Code Online (Sandbox Code Playgroud)
Sha*_*son 15
除了Patrik的答案,我认为在这篇文章中添加一个如何模拟受保护的属性成员的提示是相关的:
A.CallTo(foo).Where(x => x.Method.Name == "get_MyProtectedProperty").WithReturnType<int>().Returns(10);
Run Code Online (Sandbox Code Playgroud)
这实际上是反射如何对待'getter'属性方法.
希望能帮助到你 :)
归档时间: |
|
查看次数: |
3649 次 |
最近记录: |