Исходный код вики NSubstitute

Версия 1.5 от Alexandr Fokin на 2026/03/17 15:30

Последние авторы
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
32 ----
33
34 ==== Внутренние ссылки: ====
35
36 ====== Дочерние страницы: ======
37
38 {{children/}}
39
40 ====== Обратные ссылки: ======
41
42 {{velocity}}
43 #set ($links = $doc.getBacklinks())
44 #if ($links.size() > 0)
45 #foreach ($docname in $links)
46 #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
47 * [[$escapetool.xml($rdoc.fullName)]]
48 #end
49 #else
50 No back links for this page!
51 #end
52 {{/velocity}}
53
54 ----