我在测试中使用ManualResetEvent
类。
基本上,我想在调用特定函数时调用Set()
方法。
这看起来像:
var mre = new ManualResetEvent(false);
mockObj.Setup(dmc => dmc.Foo(param1, param2, param3)).Callback(mre.Set()); //Error here.
但是,我收到错误说:
无法从bool转换为' System.Action'
当我尝试设置mre
时。
我在这里做错了吗?
答案 0 :(得分:1)
错误消息显示全部
无法从bool转换为'System.Action'
Callback
需要lambda表达式/ Action
//...
var mre = new ManualResetEvent(false);
mockObj
.Setup(dmc => dmc.Foo(param1, param2, param3))
.Callback(() => mre.Set()); //<-- Callback requires an Action
//...
参考Moq Quickstart以更好地了解如何使用模拟框架。