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的测试用例....那么如何写这个场景...... –