Ale*_*lex 1 syntax unit-testing moq
我有一个方法可以为字典分配一些值,在我的Moq测试中,我想确保只使用一组特定的参数(即字符串)调用它.
我尝试过各种各样的东西 - Setup,SetupSet,VerifySet等.他们都让我确保用我想要的参数调用一个方法,这很好.但是,我如何验证它没有被其他任何东西调用?以上方法都不会捕获此方案.
我试图使用It.IsInRange指定哪些参数是可以的,但是只接受整数,所以对于字典查找没什么用处.
谢谢,
亚历克斯
Gis*_*shu 10
_mockChef.Verify(chef => chef.Bake(It.Is<CakeFlavors>(vetoArgsPredicate), It.IsAny<bool>()), Times.Never());
您可以使用Argument Constraints,也可以使用It.Is<T>(predicate)对无效参数求值为true的方法,并将其与Times.Never()结合使用.
It.Is<T>(predicate)
或者 你可以严格嘲笑,这里的另一个答案就是证明; 但它们往往使你的测试变得脆弱.因此,除非你绝对需要它们,否则不鼓励使用它们.
有关详细信息,请参阅此处的子弹#5和#9
归档时间:
14 年,7 月 前
查看次数:
9334 次
最近记录: