【问题标题】:MOQ setup function to throw exception doesn't work引发异常的最小起订量设置功能不起作用
【发布时间】:2013-04-24 13:45:02
【问题描述】:

我有以下函数签名:

T SomeMethod(Expression<Func<T, string>> param1, 
             , params Expression<Func<T, object>>[] items);

我希望它每次执行时都抛出异常。

我尝试进行以下设置:

myMock.Setup(x => x.SomeMethod(Moq.It.IsAny<Expression<Func<SomeClass, string>>>()))
      .Throws(new Exception());

一切正常,但是当我到达这个方法时,它不会抛出异常(尽管该对象是我的模拟对象)。

我认为我的设置不正确。

我尝试了很多变化,现在有点沮丧。

我会添加更多代码,但它受到限制。我要上传的每篇文章都应该更改,所以请原谅我对信息的吝啬。

希望这已经足够了,有人可以帮助我。

【问题讨论】:

    标签: c# unit-testing moq


    【解决方案1】:

    看起来问题出在params 参数中。尝试将其添加到设置中

    myMock.Setup(x => x.SomeMethod(
             Moq.It.IsAny<Expression<Func<SomeClass, string>>>()),
             Moq.It.IsAny<Expression<Func<T, object>>[]>())
          ).Throws(new Exception());
    

    【讨论】:

    • 你太棒了!非常感谢。你太快了,我可以接受你在五分钟内得到答复......同时,也许你可以帮助我,我怎样才能强制第二个电话做另一个动作(返回,另一个例外)?跨度>
    • 您需要为此使用 SetupSequence
    猜你喜欢
    • 2018-04-23
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 2016-11-07
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多