2009-06-11 10 views
5

Perché non è possibile successione i test di altri gruppi per l'esecuzione:Perché non è possibile ereditare metodi di prova da altre assemblee

namespace TestProject.Base 
{ 
    [TestClass] 
    public abstract class TestBaseClass 
    { 
     [TestMethod] 
     public void BaseTest() 
     { 
      Assert.IsTrue(false); 
     } 
    } 
} 

test Runner

namespace TestProject.UnitTest 
{ 
    [TestClass] 
    public class UnitTest : TestBaseClass 
    { 
    } 
} 

è solo possibile esegui il test quando le classi si trovano nell'assemblaggio SAME WTF!

E 'possibile avere ereditarietà di test come sopra con NUnit ed essere eseguibili?

+2

Cosa vedi che ti sta portando a questa conclusione? Un errore? Nessun intellisense sui membri di base? –

+0

I test non funzionano! I test verranno eseguiti solo se dichiaro entrambe le classi nello stesso assembly. –

+0

"I test non funzionano!" Non è una risposta alla sua domanda. – dss539

risposta

2

Purtroppo sembra che questa sia una limitazione del framework MSUnit. Nella documentazione MSDN indica chiaramente che i test possono ereditare i metodi da un'altra classe di test nello stesso assembly (vedere http://msdn.microsoft.com/en-us/library/ms182517.aspx).

Probabilmente la causa di ciò è il modo in cui MSUnit rileva i test e fino a quel momento sembra che non vi sia alcuna soluzione alternativa (oltre ad avere una copia dei file di test nel progetto).

Problemi correlati