{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}
05/10/2010
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 {
d = 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.