我需要測試是否使用指定參數調用方法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