在回调模拟设置中设置 ManualResetEvent 时出错
Error while setting ManualResetEvent on callback mock setup
我正在测试中使用 ManualResetEvent
class。
基本上,我想在调用特定函数时调用 Set()
方法。
这看起来像:
var mre = new ManualResetEvent(false);
mockObj.Setup(dmc => dmc.Foo(param1, param2, param3)).Callback(mre.Set()); //Error here.
但是,我收到一条错误消息:
Cannot convert from bool to 'System.Action'
当我尝试设置 mre
时。
我是不是做错了什么?
错误消息说明了一切
Cannot convert from bool to 'System.Action'
Callback
需要 lambda 表达式/动作
//...
var mre = new ManualResetEvent(false);
mockObj
.Setup(dmc => dmc.Foo(param1, param2, param3))
.Callback(() => mre.Set()); //<-- Callback requires an Action
//...
参考 Moq Quickstart 以更好地了解如何使用模拟框架。
我正在测试中使用 ManualResetEvent
class。
基本上,我想在调用特定函数时调用 Set()
方法。
这看起来像:
var mre = new ManualResetEvent(false);
mockObj.Setup(dmc => dmc.Foo(param1, param2, param3)).Callback(mre.Set()); //Error here.
但是,我收到一条错误消息:
Cannot convert from bool to 'System.Action'
当我尝试设置 mre
时。
我是不是做错了什么?
错误消息说明了一切
Cannot convert from bool to 'System.Action'
Callback
需要 lambda 表达式/动作
//...
var mre = new ManualResetEvent(false);
mockObj
.Setup(dmc => dmc.Foo(param1, param2, param3))
.Callback(() => mre.Set()); //<-- Callback requires an Action
//...
参考 Moq Quickstart 以更好地了解如何使用模拟框架。