Я подумываю переписать некоторые из моих контроллеров MVC в асинхронные контроллеры. У меня есть работающие модульные тесты для этих контроллеров, но я пытаюсь понять, как поддерживать их в среде асинхронных контроллеров.
Например, в настоящее время у меня есть такое действие:
public ContentResult Transaction()
{
do stuff...
return Content("result");
}
и мой юнит-тест в основном выглядит так:
var result = controller.Transaction();
Assert.AreEqual("result", result.Content);
Хорошо, это достаточно просто.
Но когда ваш контроллер изменится так:
public void TransactionAsync()
{
do stuff...
AsyncManager.Parameters["result"] = "result";
}
public ContentResult TransactionCompleted(string result)
{
return Content(result);
}
Как, по вашему мнению, должны быть построены ваши юнит-тесты? Конечно, вы можете вызвать метод асинхронного инициатора в вашем методе теста, но как вы получите возвращаемое значение?
Я ничего не видел об этом в Google ...
Спасибо за любые идеи.