Я рассматриваю возможность перезаписи некоторых из моих контроллеров MVC как асинхронных контроллеров. У меня есть тестовые тесты для этих контроллеров, но я пытаюсь понять, как их поддерживать в среде асинхронного контроллера.
Например, в настоящее время у меня есть действие вроде этого:
public ContentResult Transaction()
{
do stuff...
return Content("result");
}
и мой unit test в основном выглядит следующим образом:
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...
Спасибо за любые идеи.