2010-04-29 11 views

risposta

4

In MSTest avete TestInitializeAttribute

Quando viene eseguito in un test di carico, il metodo contrassegnato con questo attributo verrà eseguito una volta per ogni iterazione utente virtuale nel test. Se è necessario eseguire le operazioni di inizializzazione una volta, che si applicano all'intero test, utilizzare ClassInitializeAttribute.

AssemblyInitializeAttribute viene eseguito una volta per tutti i test in tutte le classi.

4

In NUnit, si ha TestFixtureSetUp che viene eseguito solo una volta prima dell'esecuzione di tutti i test nell'attrezzatura e SetUp che viene eseguito prima dell'esecuzione di ciascun metodo di prova.

3

Questo naturalmente dipende dal framework e per le risposte concrete a questo si dovrebbe verificare la documentazione pertinente.

I metodi di impostazione per i test o le fixture sono utili, ma non devono essere utilizzati. Se i test unitari hanno complex set up methods, si potrebbe obiettare che sono più test di integrazione, e quindi dovrebbero essere sottoposti a refactoring. Un set di test complesso è un odore di codice. D'altra parte, impostare i metodi usati con saggezza può ridurre la duplicazione e rendere i test più leggibili e mantenibili.

1

In junit4 sono disponibili annotazioni per contrassegnare entrambi i tipi di metodi di installazione/rimozione. Ecco il sommario:

  • eseguire l'installazione prima di ogni suite di test uso @BeforeClass
  • esecuzione abbattere dopo ogni test suite uso @AfterClass
  • eseguire l'installazione prima di ogni metodo di prova nel vostro uso privato @Before
  • lacrima in esecuzione dopo ogni metodo di prova nella suite utilizzare @After
Problemi correlati