作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个没有参数的方法,它可能会抛出异常。我想用 Rhino 模拟测试这种行为,所以我这样做:
Expect.Call(() => mymethod(null, null, out integer1, out integer2))
.IgnoreArguments().OutRef(1, 2).Throw(new Exception());
但很明显异常是在 out 参数初始化之前抛出的。
是我做错了什么还是犀牛的正常行为?您将如何解决这个问题?
最佳答案
这可能是 Rhino.Mocks 中的错误。我认为使用 .Throw()
方法表示“当我调用此方法时,抛出此异常”。这就是它所做的一切——抛出异常。
我会重新设计代码,以免期望out
变量被初始化并且 抛出异常。当我将一个方法包装在 try/catch
block 中并捕获异常时,我假设该方法可能在任何地方终止并且我不对可能已经完成(或未完成)的工作做出任何假设).
也许代码可以分成两种方法?
关于c# - Rhino .OutRef 与 .Throw 不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7905369/
我有一个没有参数的方法,它可能会抛出异常。我想用 Rhino 模拟测试这种行为,所以我这样做: Expect.Call(() => mymethod(null, null, out integer1,
我是一名优秀的程序员,十分优秀!