Я хочу сделать mock метод расширения, но он не работает. Как это может быть сделано?NSubstitute mock extension метод
public static class RandomExtensions
{
public static IEnumerable<int> NextInt32s(this System.Random random, int neededValuesNumber, int minInclusive, int maxExclusive)
{
// ...
}
}
[Fact]
public void Select()
{
var randomizer = Substitute.For<DefaultRandom>();
randomizer.NextInt32s(3, 1, 10).Returns(new int[] { 1, 2, 3 });
}
AFAIK Вы не можете высмеивать метод расширения с помощью бесплатных mocking frameworks. Потому что методы расширения - это просто статические методы, и вы не можете издеваться над статическим методом со свободными насмешками. TypeMock делает это, я думаю (но это не подлежит сомнению). –