C #Модульное тестирование WebApi и фиктивные контроллеры

Я работаю над этим проектом WebAPI, и мне нужно создать для него модульные тесты. База проекта была создана с использованием VS 2010, а затем был добавлен модуль WebApi.

Работа контроллера как бы мешает тестированию/насмешке. Я использую xUnit и Moq, но нет никакой необходимости придерживаться этих двух.

Приложение использует определенные объекты для работы с базой данных, поэтому у меня есть controllerObject и его конструктор требуют DataAccessObject

У меня проблема с насмешкой над парой контроллер/доступ к данным. Первый тест, который я пытаюсь запустить, это GetAllFromDataBase, но я действительно не знаю, как это сделать.

РЕДАКТИРОВАТЬ:

Я сделал то, что сказал мне Куонг Ле, и теперь все движется, я действительно ценю это. Но я столкнулся с другой проблемой. Для доступа к API существует пара имя пользователя/пароль, и мой контроллер использует Thread.CurrentPrincipal.Identity.Name; сейчас мне нужно будет установить это значение, чтобы оно полностью работало, я думаю.

Также сервис valueServiceMock.Setup (=> service.GetValues ​​()).Возвращает (новый[] { "значение1", "значение2" } );

похоже, не работает. поскольку код пытается получить доступ к базе данных и ничего не получает, поскольку не может получить действительное имя пользователя для поиска

10
задан ДМИТРИЙ МАЛИКОВ 5 December 2013 в 17:19
поделиться