Gal*_*Ziv 6 c# unit-testing moq
我有以下功能签名:
T SomeMethod(Expression<Func<T, string>> param1,
, params Expression<Func<T, object>>[] items);
Run Code Online (Sandbox Code Playgroud)
我希望它在每次执行时抛出异常.
我尝试进行以下设置:
myMock.Setup(x => x.SomeMethod(Moq.It.IsAny<Expression<Func<SomeClass, string>>>()))
.Throws(new Exception());
Run Code Online (Sandbox Code Playgroud)
一切正常,但是当我到达这个方法时,它不会抛出异常(虽然对象是我的模拟).
我认为我的设置不正确.
我尝试了很多变化,现在我有点沮丧.
我会放更多的代码,但它是受限制的.我要上传的每件作品都应该改变,所以请原谅我的信息便宜.
希望它足够了,有些人可以帮助我.
ale*_*lex 11
看起来问题出在params参数中.尝试将其添加到设置中
myMock.Setup(x => x.SomeMethod(
Moq.It.IsAny<Expression<Func<SomeClass, string>>>()),
Moq.It.IsAny<Expression<Func<T, object>>[]>())
).Throws(new Exception());
Run Code Online (Sandbox Code Playgroud)