我有以下功能签名:
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());
一切正常,但是当我到达这个方法时,它不会抛出异常(虽然对象是我的模拟)。
我认为我的设置不正确。
我尝试了很多变化,现在我有点沮丧。
我会添加更多代码,但它受到限制。我要上传的每件作品都应该改变,所以请原谅我的信息便宜。
希望这足够了,有人可以帮助我。
答案 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());