我创建了一个async Task<ActionResult>
创建方法,该方法具有用户输入数据,数据保存在azure表中。我需要对它进行单元测试以显示它重定向到索引
[HttpPost]
[ActionName("Create")]
[ValidateAntiForgeryToken]
public async Task<ActionResult> CreateAsync([Bind(Include = "Id,StudentNo,Name,Surname,Email,Telephone,Mobile,Active")] Item item)
{
if (ModelState.IsValid)
{
await DocumentDBRepository<Item>.CreateItemAsync(item);
return RedirectToAction("Index");
}
return View(item);
}
答案 0 :(得分:0)
我需要对其进行单元测试以显示它重定向到索引
然后做像Jasmin
这样的UI单元测试导致服务器端单元测试不适用于该原因,而在测试中没有MVC管道存在并完成所有这些路由,httpcontext等根本不存在。相反,你应该专注于单元测试业务逻辑
答案 1 :(得分:0)
检查返回结果的实际类型
public async Task ShouldRedirect()
{
var controller = new Controller();
var result = await controller.Create(item);
result.Should().BeOfType<RedirectToRouteResult>();
}