Описание тега nsubstitute

NSubstitute - это фреймворк для имитации.NET. Он создает заменители типов для тестирования, которые могут действовать как имитаторы (могут проверять, были ли получены вызовы), так и заглушки (могут настраивать результаты для вызовов).
1 ответ

Универсальный репозиторий не добавляет сущность в контекст при тестировании

Я создаю GenericRepository с EF и пишу модульные тесты впервые. Тесты для GetAll() а также Update() прошло но Add() а также Delete() не удалось. Почему не Add? Я вырываю свои волосы, потому что это одна строка кода, и я не мог понять это. Я использу…
30 мар '16 в 14:17
1 ответ

Может ли NSubstitute имитировать возвращаемое значение, основываясь на аргументе интерфейса, а не на конкретном типе?

У меня есть сущность и валидатор: public class Customer : IEntity { /* ... */ } public class CustomerValidator : IValidator<Customer> { /* ... */ } Я хочу издеваться над фабрикой валидаторов: public interface IValidatorFactory { IValidator<…
12 апр '17 в 03:56
1 ответ

Заглушить запись в F#

Поскольку записи F# действительно запечатаны, я не могу заглушить тип записи. Есть ли атрибут, который я могу поставить в записи в F#, чтобы он не был скомпилирован как запечатанный, чтобы я мог заглушить запись? type Quote = {a:string} mock<Quot…
08 май '12 в 21:14
1 ответ

Проверьте возвращаемое значение в синтаксисе исключений FluentAssertion

Я хотел бы проверить возвращаемое значение из метода по синтаксису FluentAssertion. Пожалуйста, рассмотрите следующий фрагмент: public interface IFoo { Task<int> DoSomething(); } public class Bar { private readonly IFoo _foo; private static in…
08 янв '19 в 13:09
2 ответа

Есть ли способ кэшировать определение Arg.Is<> для использования в частях "Arrange" и "Act" теста?

У меня есть тест, который выглядит так: [Test] public void Blah() { // Arrange // ... var thing = new Thing(); mockRouter.Route(Arg.Is&lt;Transition&lt;Thing&gt;&gt;(x =&gt; x != null &amp;&amp; x.Subject != null &amp;&amp; x.Subject.Equals(thing)))…
2 ответа

Замените возвращаемое значение с помощью общего репозитория

У меня есть общий репозиторий для MongoDB. Это мой метод Get: public IList&lt;TEntity&gt; Get&lt;TEntity&gt;(System.Linq.Expressions.Expression&lt;Func&lt;TEntity, bool&gt;&gt; filter = null) where TEntity : class, new() { var collection = GetCollec…
13 фев '16 в 17:35
0 ответов

Nsubsitute - Mock db context, который вызывается внутри обработчика запросов.

Есть ли способ издеваться над dbcontext в такой ситуации? Я использую CQRS. public class QueryHandler1 : IQueryHandler&lt;Query1,string&gt; { private readonly IDbInvoker invoker; public QueryHandler1 (IDbInvoker invoker) { this.invoker = invoker; } …
0 ответов

NSubstitute ReceivedCallsException ошибка при выполнении вызовов в последовательности

Когда я запускаю тесты ниже в следующей последовательности ((например, Test1, а затем Test2), он выдает упомянутую ошибку. Но он работает нормально, если он работает в противоположной последовательности. (Т.е. Test2, а затем Test1) [Факт] public asy…
15 янв '19 в 10:14
1 ответ

Макет Autofac.IComponentContext с модульными тестами C#

Я пытаюсь издеваться IComponentContext с NSubstitute, как показано ниже: [TestClass()] public class SyncRepositoryFactoryTests { private IComponentContext _container; private SyncRepositoryFactory _factory; [TestInitialize] public void Initialize() …
23 апр '15 в 08:49
1 ответ

Издеваться над несколькими интерфейсами с machine.fakes

Как я могу получить эквивалент Substitute.For&lt;DbSet&lt;MyClass&gt;, IQueryable&lt;MyClass&gt;, IDbAsyncEnumerable&gt;() с machine.fakes? Я пытался с помощью var myFake = An&lt;DbSet&lt;MyClass&gt;&gt;(); myFake.WhenToldTo(m =&gt; ((IQueryable&lt;…
3 ответа

NSubstitute - тестирование определенного выражения linq

Я использую шаблон репозитория в приложении MVC 3, которое я сейчас разрабатываю. Мой интерфейс репозитория выглядит следующим образом: public interface IRepository&lt;TEntity&gt; where TEntity : IdEntity { void Add(TEntity entity); void Update(TEnt…
13 апр '11 в 18:50
1 ответ

UnitTesting PatIndex

При модульном тестировании PatIndex для SqlFunctions с помощью фиктивного объекта IQueryable я получаю следующую ошибку: "Эту функцию можно вызвать только из LINQ to Entities". Вот как я инициализирую свои ложные репозитории: protected void InitUnit…
25 авг '15 в 08:45
1 ответ

Как проверить, получила ли функция определенный делегат, используя NSubstitute?

Я хотел бы проверить, если функция получила конкретный делегат в качестве параметра. Возможно ли это в NUnit с NSubstitute? Мой интерфейс: public interface IMyInterface { void Sort(Func&lt;IEnumerable&lt;int&gt;, IOrderedEnumerable&lt;int&gt;&gt; f)…
14 фев '17 в 18:00
2 ответа

NSubstitute Argument Matcher Ошибки только в сборке TFS

У меня возникла проблема, при которой тесты на моем локальном компьютере выполнялись с использованием Visual Studio, но они не пройдены, когда CI Build запустит их на моем сервере TFS. Вот строка, которая терпит неудачу, и предыдущая строка для конт…
10 ноя '15 в 23:10
1 ответ

Модульный тест C# NSubstitute Невозможно установить значение в ObjectCache

Я не могу вставить запись кэша в ObjectCache с помощью Set в моих модульных тестах. var objectCache = Substitute.For&lt;ObjectCache&gt;(); objectCache.Set("TestKey", object, Arg.Any&lt;DateTimeOffset&gt;()); Когда я вступаю в свой код var cachedData…
24 янв '18 в 22:52
1 ответ

Stub/Mock 2 уровня вниз в классе

У меня есть провайдер настроек, который невозможно проверить (корпоративный устаревший код). Я пытаюсь обернуть провайдера настроек в хранилище настроек, чтобы уменьшить объем непроверяемого кода. Таким образом, вместо 20 методов, использующих поста…
16 дек '13 в 09:28
2 ответа

Как изменить возвращаемое значение метода во время выполнения модульного теста

Я пытаюсь разработать модульный тест для проверки шаблона повторения цикла. Единственный способ, которым я могу думать, - это изменить то, что возвращает метод, встроенный в сердце цикла повторения, в середине теста. Например... Я хотел бы выдать ис…
10 янв '16 в 19:08
3 ответа

Насколько стабилен NSubstitute?

Моя компания стремится стандартизировать систему изоляции. Я смотрел на MS Stubs (потому что Кроты казались крутыми, и я думал, что буду держать их в той же структуре). Тем не менее, Stubs еще не совсем готов к прайм- тайму (в обычной функциональнос…
15 сен '10 в 19:02
1 ответ

NSubstitute When...Do определение не переопределяется последующими определениями

void ABC() { var foo = Substitute.For&lt;IFoo&gt;(); foo.When(x =&gt; x.Bar()).Do(x =&gt; counter++); &lt;use Bar()&gt;.... 1 foo.When(x =&gt; x.Bar()).Do(x =&gt; counter--); &lt;use Bar()&gt;.... 2 } Для приведенного выше фрагмента кода (1) и (2) о…
11 янв '13 в 07:16
2 ответа

Как выполнить модульное тестирование для принятого вызова в методе, который вызывает исключение

Я пытаюсь выполнить модульное тестирование метода, который выдает исключение, и перед тем, как его сгенерировать, необходимо выполнить несколько задач, таких как ведение журнала. я использую NSubstitute и не могу разобраться с этим. так что мой тест…
10 апр '18 в 10:08