Все эти ответы предоставляют различные способы сделать то, что вы хотите, и все они работают. Есть еще одна вещь, о которой нужно знать. Если вам нужно получить действительно «низкий уровень» и проверить аргументы, передаваемые любому методу-заглушке, вы можете использовать GetArgumentsForCallsMadeOn
.
Это немного грязно, так как возвращает объект [] []. Вы используете это так (при условии, что вы указали stubber.InsertData
, чтобы принять ноль):
var args = stubber.GetArgumentsForCallsMadeOn(s => s.InsertData(null));
args [0] - это массив параметров, переданных в InsertData при первом вызове.
args [1] - это массив параметров, передаваемых в InsertData при втором вызове.
и т.д ...
Итак, если вы хотите, чтобы целочисленное значение передавалось как второй параметр первого вызова какого-либо метода, вы могли бы:
var check = (int) args[0][1];
Опять же, я бы порекомендовал один из предыдущих методов, но он доступен, если вам нужно по-настоящему расстроиться, чтобы проверить аргументы.