powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / помощь в тесте юнит
2 сообщений из 2, страница 1 из 1
помощь в тесте юнит
    #38783304
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть MVC, ninject
Есть такой метод в контролере

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  public ActionResult List(string filter = "")
        {
            PageRequestModel model = GetListRequest(filter);
            if (model == null)
            {
                return HttpNotFound();
            }
            return PartialView(model);
        }

        public PageRequestModel GetListRequest(string filter)
        {
            RequestFilterModel rfm = GetCurrentFilter(filter);
            if (HttpContext.User.IsInRole("Operator_104"))
                rfm.CreateUserID = UserInfo.Id;

            PageRequestModel model = IEmergencydata.GetRequestList(rfm);
            return model;
        }



Есть тест

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
  public void TestRequestList()
        {
          
    

           var ihundredfour = new Mock<IEmergencyData>();
           var idirectory = new Mock<IAppDirectory>();
       


            HttpContext.Current = MockHelper.FakeHttpContext();

            var controllerContext = new Mock<ControllerContext>();
            var principal = new Moq.Mock<IPrincipal>();
            principal.Setup(p => p.IsInRole("Operator")).Returns(true);
         

            var controller = new Service104Controller(ihundredfour.Object, idirectory.Object);
            controllerContext.SetupGet(x => x.HttpContext.User).Returns(principal.Object);
            controller.ControllerContext = controllerContext.Object;
            ViewResult result = controller.List("") as ViewResult;

            Assert.IsInstanceOfType(result.Model, typeof(PageRequestModel));
        }




при запуске теста вот тут
Код: c#
1.
  PageRequestModel model = IEmergencydata.GetRequestList(rfm);

ничего не получаю.

Не заходит вообще в середину метода GetRequestList(...) . И я так понимаю, даже если зайдет то там
Код: c#
1.
new Entities() 

также не сможет создать.

Код: c#
1.
2.
3.
4.
5.
6.
7.
   public PageRequestModel GetRequestList(RequestFilterModel filter)
        {
            using (Entities data = new Entities())
            {

            }
       }




Поделитесь примером как создавать правильные тесты ? А то нахожу только какие то простые примеры ...

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

PS

Может нужно сразу тестить этот метод
Код: c#
1.
public PageRequestModel GetRequestList(RequestFilterModel filter) 

, без контролера ?


Спасибо.
...
Рейтинг: 0 / 0
помощь в тесте юнит
    #38783676
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
         var kernel = new StandardKernel();

           var iemergencydata = new Mock<IEmergencyData>();
           var idirectory = new Mock<IAppDirectory>();
           IEmergencyData tttt = new EmergencyData();

           kernel.Bind<IEmergencyData>().To<EmergencyData>();

           RequestFilterModel rfm = new RequestFilterModel();
           var result = tttt.GetRequestList(rfm);

            Assert.IsInstanceOfType(result, typeof(PageRequestModel));



ну в таком виде тест срабатывает. А как бы правильно через конттроллер вызвать ? как сделать для
var iemergencydata = new Mock<IEmergencyData>();

подобие

kernel.Bind<IEmergencyData>().To<EmergencyData>();

это если я правильно понял
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / помощь в тесте юнит
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]