Вступить в клуб →
лёгкаявопросТестирование: xUnit, Moq, WebApplicationFactory

Тест сервиса скидок падает с NullReferenceException внутри кода, а не в проверке

var customers = new Mock<ICustomerRepository>();
var service = new DiscountService(customers.Object);

var price = service.PriceFor(customerId: 42, basePrice: 1000);

Assert.Equal(900, price);

Внутри PriceFor вызывается _customers.Find(42).IsVip. Тест падает с NullReferenceException. Почему?

  • Мок без Setup возвращает null для ссылочных типов
  • Moq не умеет мокать интерфейсы репозиториев
  • Mock.Object нужно создавать после вызова метода
  • Moq возвращает случайного клиента без флага VIP

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела