在 XUnit 中如何对您收到的 IActionResult 进行解析
In XUnit how to do parsing on IActionResult you receive
如何解析我在 XUnit 测试中收到的 IActionResult
。
我已经尝试了下面的方法并在行中出现错误(返回 null)
var okObjectResult = actionResult as OkObjectResult;
控制器Class
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);
}
我参考了下面的代码 post 但仍然没有成功 ""
OkObjectResult
通常由 API 控制器返回。在您的特定情况下,控制器 returns 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);
如何解析我在 XUnit 测试中收到的 IActionResult
。
我已经尝试了下面的方法并在行中出现错误(返回 null)
var okObjectResult = actionResult as OkObjectResult;
控制器Class
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);
}
我参考了下面的代码 post 但仍然没有成功 "
OkObjectResult
通常由 API 控制器返回。在您的特定情况下,控制器 returns 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);