MOQ设置函数抛出异常不起作用

时间:2013-04-24 13:45:02

标签: c# unit-testing moq

我有以下功能签名:

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());

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

我认为我的设置不正确。

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

我会添加更多代码,但它受到限制。我要上传的每件作品都应该改变,所以请原谅我的信息便宜。

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

1 个答案:

答案 0 :(得分:10)

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

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