0
需要知道如何寫NUnit測試情況下,當控制器方法具有Task.Run()如何,其具有的單元測試控制器方法Task.Run(())
例如看下面的代碼
public class DataProcessController : Controller
{
public ActionResult Index(DataProcess model)
{
try
{
Task task = Task.Run(() =>
{
try
{
Database.Insert(model);
}
catch(Exception ex)
{
Database.Log(ex);
}
});
}
catch(Exception ex)
{
ModelState.AddModelError("Not able to process the data",string.Empty);
return this.View(model);
}
return RedirectToAction("Index");
}
}
*************************************************
public class DataProcessControllerTest
{
[Test]
public void Index()
{
DataProcessController objController = new DataProcessController();
DataProcess process = new DataProcess() { ProcessId = 501, ProcessName = "MorningBatch" };
var result = objController.Index(process);
Assert.IsNotNull(result);
}
}
***********************************
當我們運行上述測試方法時,它不會在任務內部觸及Database.Insert(model)行。我們需要測試記錄是否被插入...
請幫助如何編寫測試用例,它應該在控制器方法中找到所有代碼行。
請幫忙。
的事情是我們無法改變的控制器......與給定的代碼,我們需要編寫NUnit的測試用例....那麼如何寫這個場景...... –