我需要测试是否使用指定参数调用方法GetKey(object target)
。我知道验证可以称为如何使用指定参数设置/验证方法调用
processor.Verify(x => x.GetKey(It.Is<object>(y => y == target)));
但是应该如何设置?
processor.Setup(x => x.GetKey(It.Is<object>(y => y == target)));
或
processor.Setup(x => x.GetKey(It.IsAny<object>()));
是什么在这两个设置有什么区别?在这种情况下真的很重要吗?
处理器接口:
public interface ILayoutProcessor
{
object GetKey(object target);
}
怎样的方法'的完整签名GetKey'是什么样子?它返回一些东西?这两个设置是不同的,第一个是针对'target'的,其次是针对任何'object'。 – dee
我知道'It.Is'和'It.IsAny'之间的区别。如果我想在参数上使用不同的'Callback'或'Return',我会使用'It.Is',但如果我不关心返回值,我可以在'Setup'中使用'It.IsAny' 'Verify'中有'It.Is'? –
是的,我认为你可以。 – dee