小编ogb*_*tad的帖子

返回不同的结果或从连续调用Moq Mock中抛出异常

我得到一个Moq对象,以便在对方法的连续调用中返回不同的值.这是通过此扩展方法完成的:

public static void ReturnsInOrder<T, TResult>(this ISetup<T, TResult> setup, params TResult[] results) where T : class
{
    setup.Returns(new Queue<TResult>(results).Dequeue);
}
Run Code Online (Sandbox Code Playgroud)

现在我希望其中一个调用抛出异常而其他调用返回异常.有没有人这样做过?

如果我这样做

mock.Setup(m => m.SomeMethod())
    .Throws(new Exception());
mock.Setup(m => m.SomeMethod())
    .Returns("ok");
Run Code Online (Sandbox Code Playgroud)

然后第一次设置被覆盖,只有第二次设置仍然存在.

moq mocking

14
推荐指数
3
解决办法
5019
查看次数

标签 统计

mocking ×1

moq ×1