У меня есть вызов этого метода
SecurityController.GetUserPermissions( _
HttpContext.Current.User.Identity.Name.ToString, GroupAdmin, GroupTrans)
, где GroupAdmin и GroupTrans являются массивом строк и являются параметрами ByRef.
Так что, в основном, это происходит, учитывая заполнение имени пользователя массивомправ администратора и массива разрешенных транзакций.
Это устаревший код, который я не могу изменить.
вот часть моего теста:
var moqSecurityController = new Mock<ISecurityController>();
var refParam = new string[1] {"test"};
moqSecurityController
.Setup(x => x.GetUserPermissions("Bob", ref refParam, ref refParam))
.Callback((string userName, string[] groupAdmin, string[] groupTrans) =>
{
groupAdmin[0] = "Test a";
groupTrans[0] = "Test b";
});
вend Я ожидаю, что у меня будет «test» в GroupAdmin и GroupTrans, но я получаю сообщение об ошибке:
Invalid callback. Setup on method with parameters (String,String[]&,String[]&)
cannot invoke callback with parameters (String,String[],String[])
Чего мне не хватает?Может кто-нибудь помочь мне высмеять это?
Спасибо