2012-08-01 8 views
14

ho unit test scritto utilizzando NUnit e le prove sono strutturate in maniera simile a come in Phil Haack's postReSharper unit test corridore dà reazione dubbia ad una classe esterna

namespace MyNamespace 
{ 
    [TestFixture] 
    public class ClassToTest 
    { 
     [TestFixture] 
     public class MethodToTest 
     { 
      [Test] 
      public void ThrowsArgumentNullException_OnNullIndex() 
      { 
       ... 
      } 

      .. more tests for the method .. 
     } 

     [TestFixture] 
     public class AnotherMethodToTest 
     { 
      [Test] 
      public void ThrowsArgumentNullException_OnNullIndex() 
      { 
       ... 
      } 

      .. more tests for the method .. 
     } 
    } 
} 

Il mio problema è che ho inconcludenti per l'esterno classe utilizzata per raggruppare i test unitari. Ho provato con e senza [TestFixture] sulla classe esterna e/o interna, ma mi dà sempre Inconcludente.

Penso che il comportamento corretto dovrebbe essere quello di visualizzare gli stati di unit test dai test di classe interna. Qualche idea?

Inconclusive is appearing for the outer class

Aggiornamento

Uno brutto correzione sembra essere la creazione di una prova senza la classe esterna e poi mettere attributo Ignore su di esso.

[Test, Ignore] 
public void DummyTest() 
{ 
    Assert.IsTrue(true); 
} 

Update 2

Channs & Wayne sono corretti, classe esterna è solo utilizzato per il raggruppamento, in modo da cambiare da classe a namespace è la soluzione migliore.

+0

Ho avuto una cosa simialar di recente ed è stato semplicemente perché avevo creato un test vuoto. Hai avuto dei test vuoti? –

risposta

7

tua classe esterna raggruppa i metodi correlati, suggerire di sostituirlo con uno spazio dei nomi.

namespace MyNamespace.ClassToTest 
{ 
    ... 
} 
+0

Grazie! Questa soluzione era esattamente corretta per il problema. Eri un po 'più veloce di Wayne, quindi la segnerò come LA risposta. – Tx3

+0

Ho avuto lo stesso problema, ma ho bisogno di usare una classe base. Questa soluzione si applica? – thepaulpage

+0

@thepaulpage - Ci scusiamo per la risposta tardiva. Hai trovato una risposta? Intendi dire che R # mostra il risultato del test come non conclusivo per la classe base quando hai solo test unitari per la classe bambino? – Channs

6

Probabilmente hai un [TestFixture] senza [Test] s - forse la classe esterna non ha nessuno dei suoi test? In tal caso, perché non usare solo uno spazio dei nomi?

+1

O forse il metodo [Test] non è contrassegnato come pubblico –

+0

Questo mi avrebbe fatto impazzire ... per fortuna l'ho straripato! – BenDundee

+0

Il suggerimento di @ mcl ha risolto il problema che avevo. +1! – Watusimoto

1

solo una supposizione, l'attributo della classe fa sì che la classe per essere gestito come un testclass, ma non ci sono test nella classe è di per sé provoca la nostra inconcludenti: solo

[TestFixture]  
public class ClassToTest