如何使用具有 ref bool 参数的 Rhino Mocks 引发事件

发布于 2024-09-29 03:05:00 字数 636 浏览 1 评论 0原文

我正在尝试编写一个测试来涵盖特定类中的错误处理。此类正在侦听具有以下签名的 Error 事件:

OnError(int ErrorNumber, string ErrorText, ref bool retry)

问题出在末尾的 ref bool 变量。我正在使用 Rhino Mocks 创建一个模拟接口进行测试,当我尝试使用以下内容引发错误时:

bool retry = false;
AdapterMock.Raise(x => x.Error += null, 0, "0", ref retry);

它甚至无法编译,告诉我它无法从 ref bool 转换为 Object。

如果我将签名更改为:

bool retry = false;
AdapterMock.Raise(x => x.Error += null, 0, "0", retry);

我编译正常,但测试因 System.InvalidOperationException 失败:参数 #3 是 System.Boolean 但应该是 System.Boolean&

我在这个问题上抓狂了,我该如何在我的模拟中正确地引发这个事件?

I am trying to write a test that covers my error handling in a particular class. This class is listening for an Error event with the following signature:

OnError(int ErrorNumber, string ErrorText, ref bool retry)

The problem is with the ref bool variable at the end. I am using Rhino Mocks to create a mock interface for testing and when I try to raise the error using the following:

bool retry = false;
AdapterMock.Raise(x => x.Error += null, 0, "0", ref retry);

It won't even compile, telling me it can't convert from ref bool to Object.

If I change the signature to:

bool retry = false;
AdapterMock.Raise(x => x.Error += null, 0, "0", retry);

I compiles fine but the test fails with System.InvalidOperationException : Parameter #3 is System.Boolean but should be System.Boolean&

I'm pulling my hair out on this one, how do I properly raise this event in my mock?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神魇的王 2024-10-06 03:05:00

尝试:

AdapterMock.Raise( x=> x.Error += null, Arg<int>.Is.Equal(0), Arg<string>.Is.Equal("0"), Arg.Ref(ref Is.Equal(retry)));

Try:

AdapterMock.Raise( x=> x.Error += null, Arg<int>.Is.Equal(0), Arg<string>.Is.Equal("0"), Arg.Ref(ref Is.Equal(retry)));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文