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 è:
- "Per run" fixture (deve essere istanziati una sola volta per i test eseguiti)
- 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?
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. –
Hai mai capito? –
Questo sembra correlato: http://xunit.codeplex.com/workitem/9748 –