Изменения документа NSubstitute
Редактировал(а) Alexandr Fokin 2026/03/17 15:36
От версии 1.6
отредактировано Alexandr Fokin
на 2026/03/17 15:34
на 2026/03/17 15:34
Изменить комментарий:
К данной версии нет комментариев
К версии 1.1
отредактировано Alexandr Fokin
на 2025/05/01 10:35
на 2025/05/01 10:35
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,61 +1,0 @@ 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" %){{code language="c#"}}var stub = Substitute.For<IService>(); 15 -// хендлер метода без возврата значения. 16 -stub 17 - .When(e => e.Action1(Arg.Any<string>())) 18 - .Do(e => { }); 19 -// хендлер, возвращающий результат 20 -stub.Action1(Arg.Any<string>()) 21 - .Returns(e => "test");{{/code}} 22 -|(% style="width:236px" %)Создание заглушки по Type|(% style="width:1096px" %){{code language="c#"}}var stub = Substitude.For(typeof(IService), []);{{/code}} 23 -|(% style="width:236px" %)Регистрация обработчика по MethodInfo|(% style="width:1096px" %)((( 24 -Can NSubstitute mock the return of a MethodInfo? 25 -[[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]] 26 - 27 -{{code language="c#"}} 28 -var stub = Substitute.For<IService>(); 29 -var methodInfo = typeof(IService).GetMethod("Method1"); 30 -methodInfo.Invoke(stub, null).Returns((e) => "stub"); 31 - 32 -{{/code}} 33 -))) 34 -|(% style="width:236px" %) |(% style="width:1096px" %) 35 -))) 36 - 37 - 38 - 39 ----- 40 - 41 -==== Внутренние ссылки: ==== 42 - 43 -====== Дочерние страницы: ====== 44 - 45 -{{children/}} 46 - 47 -====== Обратные ссылки: ====== 48 - 49 -{{velocity}} 50 -#set ($links = $doc.getBacklinks()) 51 -#if ($links.size() > 0) 52 - #foreach ($docname in $links) 53 - #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument()) 54 - * [[$escapetool.xml($rdoc.fullName)]] 55 - #end 56 -#else 57 - No back links for this page! 58 -#end 59 -{{/velocity}} 60 - 61 -----