如何使用FluentAssessments组合多个断言



我知道通过FluentAssertions库,我们可以将多个断言组合在一个类中。只是想知道以下2个断言是否可以组合在一行中?

// Act 
IActionResult actionResult = controller.Update();
// Assert
((ObjectResult)actionResult).StatusCode.Should().Be(200);
((ObjectResult)actionResult).Value.Should().BeEquivalentTo("updated");

使用内置断言,您可以将actionResult与匿名对象进行比较。

IActionResult actionResult = new ObjectResult("updated")
{
StatusCode = 200
};
var expected = new
{
StatusCode = 200,
Value = "updated"
};
actionResult.Should().BeEquivalentTo(expected);

对于您的具体情况,您可以安装FluentAssertions.AspNetCore.Mvc,它可以让您编写

actionResult.Should().BeObjectResult()
.WithStatusCode(200)
.WithValue("updated");

如果您使用的是Microsoft.AspNet.Mvc而不是Microsoft.AspNetCore.Mvc

  • https://www.nuget.org/packages/FluentAssertions.Mvc3/
  • https://www.nuget.org/packages/FluentAssertions.Mvc4/
  • https://www.nuget.org/packages/FluentAssertions.Mvc5/

相关内容

  • 没有找到相关文章

最新更新