我正在考慮重新改寫我的一些MVC控制器是異步控制器。我有這些控制器的工作單元測試,但我想了解如何在異步控制器環境中維護它們。建設單元測試MVC2 AsyncControllers
例如,目前我有一個這樣的動作:
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);
}
你怎麼想你的單元測試應該建?您當然可以在您的測試方法中調用異步啓動器方法,但是如何獲取返回值?
我還沒有看到這個在谷歌什麼...
感謝您的任何想法。
我迫不及待想在代碼中嘗試,但它看起來很棒。將它標記爲在我運行後回答。非常感謝! – ChrisW 2010-06-04 21:36:33