gpt4 book ai didi

c# - IHttpActionResult 匿名对象 - 验证结果

转载 作者:太空狗 更新时间:2023-10-29 18:18:21 33 4
gpt4 key购买 nike

我正在尝试为我们的一些 webapi 调用创建一个测试,但我在访问结果时遇到了困难。在我看到的所有示例中,他们都使用 OkNegotiatedContentResult。问题是在我们的 web api 调用中,我们经常将数据包装在匿名对象中,以便我们可以组合数据集。我可能忽略了一些明显的东西,但我似乎无法找出检查结果信息以验证它的正确方法。

WebApi 代码段

var orderInfo = new
{
Customer = customerInfo,
Order = orderInfo
}

return Ok(orderInfo);

API 测试片段

    [TestMethod]
public void TestGetOrderInfo()
{
var controller = new OrderController(_repo);
IHttpActionResult results = controller.GetOrderInfo(46);

Assert.IsNotNull(results);


}

当涉及匿名类型时,如何使用 OkNegotiatedContentResult 检查结果?

最佳答案

匿名类型出现问题的原因是它们是内部类型而不是公共(public)类型,因此您的测试不能使用它们。

如果您将 InternalsVisibleTo 属性添加到您的 webapi 项目,您将能够通过动态引用结果及其内容,例如:

[TestMethod]
public void TestGetOrderInfo()
{
var controller = new OrderController(_repo);
dynamic results = controller.GetOrderInfo(46);
dynamic content = results.Content;

...

}

关于c# - IHttpActionResult 匿名对象 - 验证结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22486962/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com