Учитывая следующий интерфейс
public interface ISomething {
void DoMany(string[] strs);
void DoManyRef(ref string[] strs);
}
Я хотел бы убедиться, что метод DoManyRef вызван и передан любой строковый массив в качестве параметра strs
. Следующий тест не пройден:
public void CanVerifyMethodsWithArrayRefParameter() {
var a = new Mock<ISomething>().Object;
var strs = new string[0];
a.DoManyRef(ref strs);
var other = It.IsAny<string[]>();
Mock.Get(a).Verify(t => t.DoManyRef(ref other));
}
В то время как следующее, не требующее массива, переданного по ссылке, проходит:
public void CanVerifyMethodsWithArrayParameter() {
var a = new Mock<ISomething>().Object;
a.DoMany(new[] { "a", "b" });
Mock.Get(a).Verify(t => t.DoMany(It.IsAny<string[]>()));
}
Я не могу изменить интерфейс , чтобы исключить требование по ссылке.