[英]How can I call a callback in a Rhino Mock'd object?
我知道必须有一种方法...我只是RhinoMocking的新手。
本质上,我有以下课程:
class B
{
private object _dependency;
public B(object dependency)
{
_dependency = dependency;
}
public void Method()
{
dependency.DependencyMethod(delegate(){ Method2(); });
}
private void Method2()
{
// do stuff
}
}
我在测试中通过了一个犀牛模拟接口作为依赖项。 我想在我的测试中测试Method2 ...但是它是私有的,所以唯一的方法是查看DependencyMethod的参数。 我怎么做? :P
谢谢!
一个测试应该确定Method()通过了一个委托。 另一个测试应该确定真正的依赖项调用了委托。
若要验证Method()将委托传递给Method2,您需要使委托可见。 也许您可以将此作为依赖项传递,以便在另一个测试中可以验证Method()是否将您传递的委托传递给您。
private object _dependency;
private delegate_type _delegate;
public B(object dependency, delegate_type theDelegate)
{
_dependency = dependency;
_delegate= theDelegate;
}
public B(object dependency) : this(dependency, delegate(){ Method2(); }) {}
public void Method()
{
dependency.DependencyMethod(theDelegate);
}
因此,在深入研究之后,我认为最好的方法是在我的模拟游戏中使用GetArgumentsForCallsMadeOn,以这种方式获取委托,然后调用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.