Я смотрел документацию Moq, и комментарии слишком короткие для меня, чтобы понять каждую из вещей, которые он может сделать.
Первое, что я не получаю, это It.IsAny<string>(). //example using string
Есть ли преимущество использования этого, просто введя какое-то значение? Я знаю, что люди говорят, что используют это, если вы не заботитесь о ценности, но если вы не заботитесь о ценности, вы не можете просто "что-то" или что-то еще? Это просто похоже на набирание текста.
Во-вторых, когда было бы примером того, когда вы не будете заботиться о стоимости? Я думал, что Moq нуждается в ценности для соответствия материалам.
Я не понимаю, для чего вообще It.Is<> или как его использовать. Я не понимаю пример и то, что он пытается показать.
Далее, мне не удается использовать Times (и его методы AtMost и т.д.). Почему вы ограничиваете количество раз, когда что-то настраивается? У меня есть значение AppConfig, которое мне нужно использовать дважды. Почему я хочу ограничить его, скажем, один раз? Это просто сделало бы тест неудачным. Это значит, чтобы другие люди не добавляли еще один код в код или что-то еще?
Я не понимаю, как использовать mock.SetupAllProperties();
Что он задает с помощью?
Я также не понимаю, почему существует так много разных способов настройки свойства и каковы их отличия. В документации есть:
SetupGet(of property)
SetupGet<TProperty>
Я заметил, что много вещей в Moq показывает () и <> - какая разница между ними и чем они будут выглядеть при использовании?
Я также не понимаю, почему они имеют SetupGet. Не могли бы вы использовать SetupSet для установки свойства?
SetupSet имеет пять различных способов использования в документации. Плюс еще один, называемый SetupProperty. Поэтому я не понимаю, почему их так много.
На стороне примечания, мне интересно, не являются ли переменные, используемые в лямбдах, независимыми от других лямбда. Например:.
mock.setup(m => m.Test);
stop.setup(m => m.Test);
Будет ли это нормально или будет какой-то конфликт между переменной m?
Наконец, я был смотрел это видео, и мне интересно, показывает ли он Visual Studio. Его Intellisense выглядит по-другому. Для него появляется лампочка (я счастлив, что у меня нет, так как она возвращает болезненные воспоминания о неберах), и есть линии, идущие от одной открытой скобки до закрывающей скобки и т.д.
Спасибо:)