2008-10-31 6 views
0

Un scénario très souvent de test unitaire est la suivante:objets Mock, nUnit, journal des appels et log4net

public void SetUp() 
{ 
    this.callLog = new StringBuilder(); 
} 

public void TestBuzzBar() 
{ 
    var bar = new Bar(new MockFoo(callLog)); 
    bar.Buzz(17); 
    Assert.AreEqual("MockFoo.Init(17) MockFoo.PrepareStuff MockFoo.DoTheJob ", callLog.ToString()); 
} 

... avec MockFoo la mise en œuvre d'une interface IFoo simplement en ajoutant des chaînes un journal d'appels. Cela nécessite beaucoup de gestion de code avec callLog dans les simulacres.

Est-ce une bonne idée d'utiliser log4net pour collecter le journal des appels?

Répondre

1

Pour répondre à votre question: log4net est un excellent framework de journalisation. Il est facile à configurer et à utiliser. Je l'ai utilisé dans des tests unitaires avec un MemoryAppender qui vous permet essentiellement de revenir en arrière et de jeter un coup d'œil sur ce qui a été enregistré pendant le test. Cette technique fonctionne à la fois pour les simulacres et les SUT.

Questions connexes