Изменения документа NSubstitute
Редактировал(а) Alexandr Fokin 2026/03/17 15:36
От версии 1.2
отредактировано Alexandr Fokin
на 2026/03/17 14:59
на 2026/03/17 14:59
Изменить комментарий:
К данной версии нет комментариев
К версии 1.5
отредактировано Alexandr Fokin
на 2026/03/17 15:30
на 2026/03/17 15:30
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,3 +1,34 @@ 1 +|(% style="width:131px" %) |(% style="width:1351px" %)((( 2 +| |nsubstitute/NSubstitute 3 +[[https:~~/~~/github.com/nsubstitute/NSubstitute>>https://github.com/nsubstitute/NSubstitute]] 4 +| | 5 +| | 6 +))) 7 +|(% style="width:131px" %)Преимущества|(% style="width:1351px" %)((( 8 +|[[Moq>>doc:Разработка.NET.Библиотеки.Тестирование.Moq.WebHome]] для создания заглушки используется билдер, который формирует экземпляр. NSubstitute позволяет редактировать заглушку в любой момент (а не только в на этапе конфигурации), иногда это может быть удобно.| 9 +|NSubstitute позволяет указывать тип заглушки не только через Generic, но и через [[Reflection ~~~| Рефлексия>>doc:Разработка.NET.C#.Рантайм и типы.Reflection | Рефлексия .WebHome]] указывая {{code language="c#"}}Type{{/code}} интерфейса. 10 +Также есть возможность указать метод через {{code language="c#"}}MethodInfo{{/code}}.| 11 +| | 12 +))) 13 +|(% style="width:131px" %)Сценарии|(% style="width:1351px" %)((( 14 +|(% style="width:236px" %) |(% style="width:1096px" %) 15 +|(% style="width:236px" %)Создание заглушки по Type|(% style="width:1096px" %){{code language="c#"}}var stub = Substitude.For(typeof(IService), []);{{/code}} 16 +|(% style="width:236px" %)Указание метода по MethodInfo|(% style="width:1096px" %)((( 17 +Can NSubstitute mock the return of a MethodInfo? 18 +[[https:~~/~~/stackoverflow.com/questions/41918308/can-nsubstitute-mock-the-return-of-a-methodinfo>>https://stackoverflow.com/questions/41918308/can-nsubstitute-mock-the-return-of-a-methodinfo]] 19 + 20 +{{code language="c#"}} 21 +var stub = Substitute.For<IService>(); 22 +var methodInfo = typeof(IService).GetMethod("Method1"); 23 +methodInfo.Invoke(stub, null).Returns((e) => "stub"); 24 + 25 +{{/code}} 26 +))) 27 +|(% style="width:236px" %) |(% style="width:1096px" %) 28 +))) 29 + 30 + 31 + 1 1 ---- 2 2 3 3 ==== Внутренние ссылки: ====