Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

QuickTip: Testando métodos que geram XML


O problema de métodos que geram XML é que para testá-los precisamos ou formatar a string XML corretamente, ou deixar tudo em uma única linha, etc.Uma forma simples de evitar esse problema é trabalhando com objetos XML mesmo, como o XmlDocument e XmlElement, vejamos:

[TestMethod]
public void TestMethod1()
{
    var esperado = new XmlDocument();
    esperado.LoadXml(
        @"<produto>
            <id>10</id>
            <descricao>Produto muito bom</descricao>
            <valor>10.00</valor>
        </produto>");

    var xmlGerado = ExportarParaXml(new
    {
        Id = 10,
        Descricao = "Produto muito bom",
        Valor = 10m
    });

    Assert.AreEqual(esperado.InnerXml, xmlGerado.InnerXml);
}

Desta forma simples eu consigo comparar o XML retornado com um XML que eu tenho em formato string, sem me preocupar com as tabulações, espaçamentos, etc.É uma dica simples, mas que pode ajudar e facilitar bastante.

Abraços, Vinicius Quaiato.

Voltar

Fork me on GitHub