2015-01-05 20 views
10

Sto cercando di aggiornare a xUnit 2 beta (soprattutto a causa di una migliore scoperta di prova), ma inciampato IUseFixture<>:xUnit v2 IUseFixture <> sostituzione

public abstract class TestCaseBase : IUseFixture<SelfHostFixture> 
{ /*common stuff here*/ } 

public class Controller1Test : TestCaseBase {} 

public class Controller2Test : TestCaseBase {} 

ho scoperto che il nuovo IClassFixture<> era quasi quello che mi serviva, tranne l'apparecchio è stato creato/smaltito per ogni classe discendente (Controller1Test, Controller2Test) anziché una sola volta. Bene, potrei spostare la dichiarazione IClassFixture<SelfHostFixture> per ogni classe di test dalla base, ma perché dovrei installare/disporre il mio server più volte? ICollectionFixture<> non ha funzionato per me (il tecnico del dispositivo non è mai stato licenziato).

In sostanza, quello che voglio è:

  1. "Per run" fixture (deve essere istanziati una sola volta per i test eseguiti)
  2. Abilita percorsi paralleli perché i miei test sono chiamate HTTP solo senza stato (credo ICollectionFixture<> non funzionerà affatto perché i test all'interno della stessa collezione non possono essere eseguiti in parallelo, giusto?)

Cosa mi manca?

+0

Solo nel caso in cui non avete ancora guardato, mi piacerebbe guardare le questioni GitHub per i problemi e/o documenti simili per i diversi meccanismi ARG IXXXFixture e ctor per vedere se riesci a trovare il modo giusto per gestirlo. –

+0

Hai mai capito? –

+0

Questo sembra correlato: http://xunit.codeplex.com/workitem/9748 –

risposta