[英]How to get content value in Xunit when result returned in IActionResult type
[英]In XUnit how to do parsing on IActionResult you receive
如何解析在IActionResult
測試中收到的IActionResult
。
我已經嘗試了以下內容並在行中出現錯誤(返回null )
var okObjectResult = actionResult as OkObjectResult;
控制器類
public IActionResult Details(int id)
{
var pie = _pieRepository.GetPieById(id);
if(pie==null)
{
return NotFound();
}
else
{
return View(pie);
}
}
XUnit測試用例
[Fact]
public async void DetailsTest()
{
MockPieRepository _data = new MockPieRepository();
int _id = 1;
string desc = "Selenium Pie";
var homecontroller = new HomeController(_data);
IActionResult actionResult = homecontroller.Details(_id);
var okObjectResult = actionResult as OkObjectResult;
Assert.NotNull(okObjectResult);
var model = okObjectResult.Value as Pie;
Assert.NotNull(model);
Assert.Equal(1, model.Id);
Assert.Equal(desc, model.ShortDescription);
}
我已經從下面的帖子中引用了代碼,但仍然沒有運氣“ 當IActionResult類型返回結果時如何在Xunit中獲取內容值 ”
OkObjectResult
通常由API控制器返回。 在您的特定情況下,控制器返回ViewResult
類型。
var actionResult = homecontroller.Details(_id);
var viewResult = actionResult as ViewResult;
var actualPie = viewResult.ViewData.Model as Pie;
Assert.NotNull(model);
Assert.Equal(1, model.Id);
Assert.Equal(desc, model.ShortDescription);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.