Описание тега 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<Transition<Thing>>(x => x != null && x.Subject != null && x.Subject.Equals(thing)))…
27 авг '14 в 13:43
2
ответа
Замените возвращаемое значение с помощью общего репозитория
У меня есть общий репозиторий для MongoDB. Это мой метод Get: public IList<TEntity> Get<TEntity>(System.Linq.Expressions.Expression<Func<TEntity, bool>> filter = null) where TEntity : class, new() { var collection = GetCollec…
13 фев '16 в 17:35
0
ответов
Nsubsitute - Mock db context, который вызывается внутри обработчика запросов.
Есть ли способ издеваться над dbcontext в такой ситуации? Я использую CQRS. public class QueryHandler1 : IQueryHandler<Query1,string> { private readonly IDbInvoker invoker; public QueryHandler1 (IDbInvoker invoker) { this.invoker = invoker; } …
21 фев '17 в 09:08
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<DbSet<MyClass>, IQueryable<MyClass>, IDbAsyncEnumerable>() с machine.fakes? Я пытался с помощью var myFake = An<DbSet<MyClass>>(); myFake.WhenToldTo(m => ((IQueryable<…
13 янв '15 в 17:37
3
ответа
NSubstitute - тестирование определенного выражения linq
Я использую шаблон репозитория в приложении MVC 3, которое я сейчас разрабатываю. Мой интерфейс репозитория выглядит следующим образом: public interface IRepository<TEntity> 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<IEnumerable<int>, IOrderedEnumerable<int>> 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<ObjectCache>(); objectCache.Set("TestKey", object, Arg.Any<DateTimeOffset>()); Когда я вступаю в свой код 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<IFoo>(); foo.When(x => x.Bar()).Do(x => counter++); <use Bar()>.... 1 foo.When(x => x.Bar()).Do(x => counter--); <use Bar()>.... 2 } Для приведенного выше фрагмента кода (1) и (2) о…
11 янв '13 в 07:16
2
ответа
Как выполнить модульное тестирование для принятого вызова в методе, который вызывает исключение
Я пытаюсь выполнить модульное тестирование метода, который выдает исключение, и перед тем, как его сгенерировать, необходимо выполнить несколько задач, таких как ведение журнала. я использую NSubstitute и не могу разобраться с этим. так что мой тест…
10 апр '18 в 10:08