Vb.Net Moq:拦截参数并设置为变量

时间:2013-02-22 09:55:34

标签: vb.net moq

我有一个模拟对象,我想用一个参数来分配一个变量,我用它调用它:

Dim myMockedObject = new Mock(Of MyObject)()

Dim catchedVariable As MyEventArgs
myMockedObject.Setup(Sub(x) x.MyMethod(Of MyEventArgs)(It.IsAny(Of MyEventArgs)))

我需要找到一种方法来填充catchedVariable

无法找到使用out参数的方法(Method is ByVal并且不想仅仅为了测试而改变它。)

尝试了像CallBack这样的Moq方法但没有成功。

1 个答案:

答案 0 :(得分:1)

使用回调:

_args As MyEventArgs
myMockedObject.Setup(Sub(x) x.MyMethod(Of MyEventArgs)(It.IsAny(Of MyEventArgs)())).Callback(Sub(x As MyEventArgs) _args = x)