我最近一直在使用RhinoMocks,但我一直在遇到问题。如果我闯入了调试器和单步执行代码,而一个模拟的是在拍摄模式下,我最终得到的线沿线的一个例外:RhinoMocks和Heisenbugs
System.InvalidOperationException: Previous method 'SuchAndSuch.ToString();'
requires a return value or an exception to throw.
但是,如果我没有打破进入调试器执行相同的代码,它会成功执行并创建模拟。
我敢肯定,其原因是调试器调用对象上的ToString()以在Locals和其他Watch窗口中显示它们。但由于模拟是在记录模式RhinoMocks认为调用ToString()是一个期望的设置,然后是不完全正确的。显然这只发生在对具体课程的部分嘲弄之中。模拟接口不会出现这种行为。
有其他人遇到过这个问题吗?有没有简单的补救措施?其他框架,如moq或TypeMock是否有这个问题?
感谢,
〜贾斯汀
感谢您的信息。我没有看到lambda语法。你有一个好的起点去了解它的链接吗? – RationalGeek 2010-03-11 13:42:08
以下是原始公告:http://ayende.com/Blog/archive/2008/05/16/Rhino-Mocks--Arrange-Act-Assert-Syntax.aspx – 2010-03-11 13:54:57
它通常也被称为AAA语法:http: //ayende.com/Wiki/Rhino+Mocks+3.5.ashx – 2010-03-11 13:56:13