如何模拟一个方法?
我只需要模拟 Method1 来测试我的流程异常。 我怎样才能做到这一点?
public interface IFoo
{
void Method1();
object Method2();
}
public class Foo : IFoo
{
public void Method1()
{
// Do something
}
public object Method2()
{
try
{
// Do something
Method1();
// Do somenthing
return new object();
}
catch (Exception ex)
{
// Process ex
return null;
}
}
}
I need to mock just Method1 to test my process exception. How I can do that?
public interface IFoo
{
void Method1();
object Method2();
}
public class Foo : IFoo
{
public void Method1()
{
// Do something
}
public object Method2()
{
try
{
// Do something
Method1();
// Do somenthing
return new object();
}
catch (Exception ex)
{
// Process ex
return null;
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该界面是一个红鲱鱼。 您必须模拟实现 Foo 并将 Method1 更改为虚拟:
使用 throw 扩展创建您希望处理的异常:
The interface is a red herring. You'll have to mock the implementation Foo and change Method1 to be virtual:
Use the throw extension to create the exception you wish to handle: