C # TestMethod - async <ActionResult>Index () - PullRequest
0 голосов
/ 15 декабря 2018

Я новичок в модульном тестировании и относительно новичок в C #.Не отличная комбинация!Я смотрел на подобные вопросы на этом форуме и пробовал решения безуспешно.В моем домашнем контроллере я определил следующий метод.Как мне написать [MethodTest] для асинхронной задачи?

**** Домашний контроллер ***

 public async Task<ActionResult> Index()
    {
        var userId = Request.IsAuthenticated ? HttpContext.User.Identity.GetUserId() : null;
        var thumbnails = await new List<ThumbnailModel>().GetPropertyThumbnailsAsync(userId);

        var count = thumbnails.Count() / 4;
        var model = new List<ThumbnailAreaModel>();
        for (int i = 0; i <= count; i++)
        {
            model.Add(new ThumbnailAreaModel
            {
                Title = i.Equals(0) ? "My Content" : string.Empty,
                Thumbnails = thumbnails.Skip(i * 4).Take(4)
            });
        }

        return View("Index", model);
    }



    [TestMethod()]
   public void Index()

    {
        // Arrange

        // Validate model state end

        // Act
        ViewResult result = HomeController.Index() as Task<ActionResult>;

       //Assert
        Assert.IsNotNull(result);
    }

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

С уважением, Фил

1 Ответ

0 голосов
/ 15 декабря 2018

Вы можете объявить свой TestMethod async

[TestMethod]
public async Task Index()
{
    // Arrange

    // Validate model state end

    // Act
    ViewResult result = await HomeController.Index();

    //Assert
    Assert.IsNotNull(result);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...