2009-07-21 12 views

risposta

3

Non credo ci sia.

Assert.AreEqual confronta i tipi non numerici con uguale.
Assert.AreSame controlla se si riferiscono allo stesso oggetto

1

È possibile scrivere asserzioni agnostiche framework utilizzando una libreria denominata Should. Ha anche una sintassi fluida molto bella che può essere usata se ti piacciono le interfacce fluenti. Ho avuto un post sul blog relativo allo stesso.

http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html

Voi due potete oggetti e proprietà là con ShouldBeEquivalentTo

dto.ShouldBeEquivalentTo(customer); 
+5

possiamo, ma Dovremmo? – JamesFaix

0

https://github.com/kbilsted/StatePrinter è stato scritto specificamente per scaricare grafi di oggetti di rappresentazione stringa con lo scopo di scrivere unit test facili.

  • Viene fornito con i metodi Assert che emettono una stringa correttamente escape con escape copia-incolla nel test per correggerla.
  • Essa permette unittest per essere automaticamente riscritta
  • Si integra con tutte le unit testing framework
  • A differenza di serializzazione JSON, i riferimenti circolari sono supportati
  • si può facilmente filtrare, in modo che solo le parti di tipi sono oggetto di dumping

Dato

class A 
{ 
    public DateTime X; 
    public DateTime Y { get; set; } 
    public string Name; 
} 

È possibile in modo sicuro tipo, e l'utilizzo di auto-completamento di studio visivo include o esclude campi.

var printer = new Stateprinter(); 
    printer.Configuration.Projectionharvester().Exclude<A>(x => x.X, x => x.Y); 

    var sut = new A { X = DateTime.Now, Name = "Charly" }; 

    var expected = @"new A(){ Name = ""Charly""}"; 
    printer.Assert.PrintIsSame(expected, sut); 
Problemi correlati