public void Index_Returns_View_with_Values() { var expected_values = new[] { "1", "2", "3" }; var value_service_mock = new Mock <IValueService>(); value_service_mock .Setup(service => service.Get()) .Returns(expected_values); //var service = new TestValueService(); var controller = new WebAPITestController(value_service_mock.Object); var result = controller.Index(); var view_result = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <string> >(view_result.Model); Assert.Equal(expected_values.Length, model.Count()); // Если объект просто притворяется интерфейсом, то это "Стаб" (Stab) value_service_mock.Verify(service => service.Get()); value_service_mock.VerifyNoOtherCalls(); // Если выполняется последующая проверка состояния, то это "Мок" (Moq) }
public void Initialize() { var value_service_mock = new Mock <IValuesService>(); value_service_mock.Setup(service => service.GetAsync()).ReturnsAsync(new[] { "111", "222", "333" }); _Controller = new WebAPITestController(value_service_mock.Object); }
public void Initialize() { var valueServiceMock = new Mock <IValuesService>(); valueServiceMock .Setup(svc => svc.GetAsync()) .ReturnsAsync(_resultArray); _controller = new WebAPITestController(valueServiceMock.Object); }
public void Index_Returns_View_with_Values() { var expected_values = new[] { "1", "2", "3" }; var value_service_mock = new Mock <IValueService>(); // If just imitation of any interface and abstract class - Stab value_service_mock .Setup(service => service.Get()) .Returns(expected_values); var controller = new WebAPITestController(value_service_mock.Object); var result = controller.Index(); var view_result = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <string> >(view_result.Model); Assert.Equal(expected_values.Length, model.Count()); // if also verification of state - Moq value_service_mock.Verify(service => service.Get()); value_service_mock.VerifyNoOtherCalls(); }
public async Task Index_Returns_View_With_Values() { var expected_values = new[] { "1", "2", "3" }; var value_service = new Mock <IValuesService>(); value_service.Setup(service => service.GetAsync()).ReturnsAsync(expected_values); var controller = new WebAPITestController(value_service.Object); var result = await controller.Index(); var view_result = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <string> >(view_result.Model); Assert.Equal(expected_values.Length, model.Count()); value_service.Verify(service => service.GetAsync()); value_service.VerifyNoOtherCalls(); }
public void Index_Returns_View_with_Values() { var expected_result = new[] { "1", "2", "3" }; var valueService_Mock = new Mock <IValueServices>(); //создаем Mock-объект, указывая нужный нам тип (IValueServices) valueService_Mock //необходимо настроить Mock-объект для имитации работы реального класса .Setup(service => service.Get()).Returns(expected_result); //при обращении к методу сервиса Get будет возвращаться наш результат-константа var controller = new WebAPITestController(valueService_Mock.Object); //передаем Mock-объект контроллеру var result = controller.Index(); //return View(_ValueServices.Get()); var view_result = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <string> >(view_result.Model); Assert.Equal(expected_result.Length, model.Count()); //с помощью Mock-объектов можно осуществить дополнительные проверки, например: valueService_Mock.Verify(service => service.Get()); //проверка, что в ходе теста был задействован метод Get valueService_Mock.VerifyNoOtherCalls(); //проверка, что в ходе теста не было вызовов других методов }
public void Index_Returns_View_with_Values() { var expected_result = new[] { "1", "2", "3" }; var value_service_mock = new Mock <IValueServices>(); value_service_mock .Setup(service => service.Get()) .Returns(expected_result); var controller = new WebAPITestController(value_service_mock.Object); var result = controller.Index(); var view_result = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <string> >(view_result.Model); Assert.Equal(expected_result.Length, model.Count()); value_service_mock.Verify(service => service.Get()); value_service_mock.VerifyNoOtherCalls(); }