FakeItEasy автоматически издевается над чем-либо ⇐ C#
FakeItEasy автоматически издевается над чем-либо
Итак, я писал тесты xUnit для своего приложения Asp.net Web Api, используя FakeItEasy. Вот мой тест, который должен возвращать список объектов MemberDto;
общедоступная асинхронная задача UsersController_GetUsers_ReturnsOK() { //Договариваться //varusers = A.Fake(); //A.CallTo(() => _userRepository.GetMembersAsync(A.That.Matches(email => true))).Returns(users); //Действовать результат вар = ждут _controller.GetUsers(); //Утверждать результат.Должен().NotBeNull(); result.Should().BeOfType(); result.Result.Should().BeOfType(); } } Реализация метода GetUsers в контроллере:
{ public async Task GetUsers() { вар currentUser = ждут _userRepository.GetUserByEmailAsync(_userExtensions.GetEmail(User)); пользователи = ждут _userRepository.GetMembersAsync(currentUser.Email); вернуть ОК (пользователи); } } Как вы можете видеть, я закомментировал строку в тесте xUnit, где он имитирует метод GetMembersAsync из _userRepository, но все равно подделывает данные (пользователи не являются нулевыми, у них будет тип Faked System.Collection...)
Вот и все, может кто-нибудь объяснить мне это. Я впервые пишу модульные тесты, я смотрел на YouTube, как парень по имени Тедди Смит объяснял, как их писать. Я загрузил его пример урока с его github и сделал то же самое, закомментировав строку с насмешкой, и он прошел тест, ничего не изменилось, независимо от того, есть ли эта строка или нет. Спасибо
Итак, я писал тесты xUnit для своего приложения Asp.net Web Api, используя FakeItEasy. Вот мой тест, который должен возвращать список объектов MemberDto;
общедоступная асинхронная задача UsersController_GetUsers_ReturnsOK() { //Договариваться //varusers = A.Fake(); //A.CallTo(() => _userRepository.GetMembersAsync(A.That.Matches(email => true))).Returns(users); //Действовать результат вар = ждут _controller.GetUsers(); //Утверждать результат.Должен().NotBeNull(); result.Should().BeOfType(); result.Result.Should().BeOfType(); } } Реализация метода GetUsers в контроллере:
{ public async Task GetUsers() { вар currentUser = ждут _userRepository.GetUserByEmailAsync(_userExtensions.GetEmail(User)); пользователи = ждут _userRepository.GetMembersAsync(currentUser.Email); вернуть ОК (пользователи); } } Как вы можете видеть, я закомментировал строку в тесте xUnit, где он имитирует метод GetMembersAsync из _userRepository, но все равно подделывает данные (пользователи не являются нулевыми, у них будет тип Faked System.Collection...)
Вот и все, может кто-нибудь объяснить мне это. Я впервые пишу модульные тесты, я смотрел на YouTube, как парень по имени Тедди Смит объяснял, как их писать. Я загрузил его пример урока с его github и сделал то же самое, закомментировав строку с насмешкой, и он прошел тест, ничего не изменилось, независимо от того, есть ли эта строка или нет. Спасибо
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как использовать FakeItEasy для подделки сложного анализа запроса linq в словарь
Anonymous » » в форуме C# - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как использовать FakeItEasy для подделки сложного анализа запроса linq в словарь
Anonymous » » в форуме C# - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-