繁体   English   中英

在没有适当的REST-Api的情况下测试RestSharp的反序列化

[英]Testing the Deserialization of RestSharp without proper REST-Api

编辑:问题的解决方案可以在John Sheehan的第一条评论中找到!

我想在我的项目中使用Restsharp作为Rest-Client。 由于REST服务器尚未运行,我想在没有服务器的情况下测试客户端。 我主要关注的是返回XML-Response的反序列化。 是否可以在没有正确的RestSharp.RestResponse的情况下使用RestSharp反序列化XML?

我试过这样的:

public void testDeserialization()
{
    XmlDeserializer d = new XmlDeserializer();
    RestSharp.RestResponse response = new RestSharp.RestResponse();
    string XML = @"<Response><Item1>Some text</Item1><Item2>Another text</Item2><Item3>Even more text</Item3></Response>";
    response.Content = XML;

    d.RootElement = "Response";
    Response r = d.Deserialize<Response>(response);
}

public class Response
{
    public string Item1 { get; set; }
    public string Item2 { get; set; }
    public string Item3 { get; set; }
}

反序列化创建Response-Class的Object,其中每个字段都为null。 有没有办法测试RestSharp是否(以及如何)反序列化任何给定的xml?

编辑:为了更好的可读性 - 这是我正在使用的XML:

<Response>
    <Item1>Some text</Item1>
    <Item2>Another text</Item2>
    <Item3>Even more text</Item3>
</Response>

我希望我这样做是正确的 - 但要明确这个问题已经解决了,我正在复制解决方案(来自John Sheehan的评论):

您不必指定RootElement。 这只适用于root不在顶级的情况。 尝试一下,让我知道它是否有效。 以下是我们测试该项目的反序列化器的方法: https//github.com/restsharp/RestSharp/blob/master/RestSharp.Tests/XmlDeserializerTests.cs

(编辑:更新了正确文件的链接)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM