Я новичок в модульном тесте и я пытаюсь написать модульный тест для метода ниже моей службы:Repository не возвращают значение из моего метода испытаний
public InventoryViewModel GetInventory(DateTime startDate, DateTime endDate, long roomServiceId)
{
InventoryViewModel inv = new InventoryViewModel();
var roomService = _unitOfWork.RoomServiceRepository.GetByID(roomServiceId);
if (roomService == null)
throw new InvalidOperationException("there is not the roomService");
....
}
...
}
этот метод работает правильно, но когда я вызываю этот метод из моего TestMethod
, RoomServiceRepository
не возвращает roomService. Моя TestMethod выглядит следующим образом:
[TestClass]
public class InventoryTest
{
private UnityContainer _container;
readonly MockObjectsSetup _mos = new MockObjectsSetup();
private IInventoryService _inventoryService;
[TestInitialize]
public void SetupTest()
{
_container = new UnityContainer();
_mos.Setup(_container);
Config.UnityTestConfig.RegisterTypes(_container);
_container.RegisterType<IInventoryService, InventoryService>();
_inventoryService = (InventoryService)_container.Resolve(typeof(InventoryService));
}
[TestMethod]
public void Dont_Change_NotSelected_PriceValues()
{
DateTime startDate = DateTime.Parse("6/21/2016");
DateTime endDate = DateTime.Parse("6/22/2016");
long roomServiceId = 17;
InventoryViewModel invViewModel = new InventoryViewModel();
invViewModel.isUpdatingBoardPrice = invViewModel.isUpdatingPrice = invViewModel.isUpdatingFloatAvailability = true;
invViewModel.isUpdatingCertainAvailability = false;
invViewModel.StartDate = startDate;
invViewModel.EndDate = endDate;
invViewModel.RoomServiceId = roomServiceId;
invViewModel.CertainAvailability = 0;
invViewModel.FloatAvailability = 8;
var inv = _inventoryService.GetInventory(startDate, endDate, roomServiceId);
....
}
}
Вы издевались над своей 'inventoryService' и получаете ли вы какое-либо исключение? –
Я не издевался над ним, как я сказал, я новичок, и я не знаю, как насмехаться над сервисом. –