Alkampfer's Place

Il blog di Gian Maria Ricci
posts - 659, comments - 871, trackbacks - 80

My Links

News

Gian Maria Ricci Mvp Logo CCSVI in Multiple Sclerosis

English Blog

Tag Cloud

Article Categories

Archives

Post Categories

Image Galleries

I miei siti

Siti utili

Utilizzare i trace e le asserzioni standard in NUNIT

Le buone pratiche di programmazione consigliano di inserire delle asserzioni nelle proprie classi, ma cosa succede quando poi testiamo il nostro codice con NUNIT? Il problema è che al fallimento di una asserzione standard di .NET la GUI del NUNIT mostra la classica messagebox di avvertimento e purtroppo l'esecuzione si ferma fino a che l'utente non interviene premendo un bottone.

La soluzione a questo problema è disabilitare i trace listener standard nel web.config del progetto NUNIT.

    <system.diagnostics>
         <trace autoflush="false" indentsize="4">
             <listeners>
                 <clear/>
             </listeners>
         </trace>
     </system.diagnostics>

In questo modo al fallimento di una asserzione i vostri test non si interromperanno. Se volete comunque vedere le asserzioni fallite, è possibile utilizzare l'oggetto ConsoleTraceListener in questo modo.

   Public Class SharedObjects

   
Public Shared Listener As ConsoleTraceListener = New ConsoleTraceListener()
End Class

...
   
<TestFixture()> _
Public Class Class1

   <SetUp()> 
Public Sub Init()
      
If (Not Trace.Listeners.Contains(SharedObjects.Listener)) Then
         
Trace.Listeners.Add(SharedObjects.Listener)
      
End If
   End Sub

   
<Test()> _
   
Public Sub TEst()
      Debug.Fail("FAILLLLLLLLLLLLLLL")
   
End Sub

End Class

In questo modo tutti i messaggi di trace standard del .NET, che comprendono anche i messaggi generati dal fallimento delle asserzioni standard, verranno ridirezionati nella console e sono quindi visibili nella GUI del nunit.

Purtroppo per ragioni a me sconosciute se si inserisce il ConsoleTraceListener dal web.config e non in maniera programmatica non funziona, forse stasera sono stanco e sbaglio qualche cosa.

Alk.

powered by IMHO 1.3

Print | posted on lunedì 4 dicembre 2006 21:22 | Filed Under [ .NET ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET