2015-04-02 7 views
12

Non riesco a trovare alcun documento sull'uso/implementazione di IXunitTestCollectionFactory.come implementare IXunitTestCollectionFactory

Ho una logica personalizzata su come voglio risolvere l'esistenza di alcuni casi di test, dal frugare nei sorgenti/campioni xunit, questa sembra essere la strada da percorrere.

public class Foo : IXunitTestCollectionFactory 
{ 
    public Foo(ITestAssembly assembly, IMessageSink messageSink) 
    { 
     throw new NotImplementedException(); 
    } 

    public ITestCollection Get(ITypeInfo testClass) 
    { 
     throw new NotImplementedException(); 
    } 

    public string DisplayName 
    { 
     get { throw new NotImplementedException(); } 
    } 
} 

Ciò non sempre sembrano avere corsa, o almeno le eccezioni sono inghiottito e ogni reale codice ho messo in là doesnt sembrano essere funzionare sia.

Ho provato ad aggiungere questo al montaggio di prova, ma senza alcun risultato

[assembly: CollectionBehavior("MyAssembly.Foo", "MyAssembly")] 

Da dove comincio? Ci sono documenti su questo ovunque?

+1

Quale versione xUnit stai usando? Dove hai messo il 'CollectionBehavior'? Come esegui i tuoi test, con quale test runner? Non ero in grado di riprodurre il tuo problema: in un progetto di libreria di classi VS2013 appena creato con xunit 2.0.0 quando eseguo il debug di un test, i brakpoint della mia classe 'Foo' vengono colpiti correttamente. Puoi provare ad abilitare i messaggi di diagnostica con ' " allora puoi forse vedere alcune informazioni aggiuntive nella finestra di output di Visual Studio ** Test ** tab – nemesv

risposta

1

questo:

[assembly: CollectionBehavior("MyAssembly.Foo", "MyAssembly")] 

dovrebbe essere questo:

[assembly: CollectionBehavior("MyNamespace.Foo", "MyAssembly")]