Sto provando a configurare i miei test usando Xunit. Ho l'obbligo di eliminare tutte le immagini all'inizio di una cartella dei test, quindi ogni metodo esegue il ridimensionamento delle immagini e ne salva una copia nella cartella. La cartella dovrebbe essere svuotata solo una volta, quindi ogni metodo salverà la propria immagine nella cartella.Come eseguire il codice di configurazione solo una volta in un test xUnit.net
Quando si utilizza IUseFixture<T>
, la funzione ClearVisualTestResultFolder
viene ancora chiamata prima di ogni test, quindi mi ritrovo con una sola immagine nella cartella.
public class Fixture
{
public void Setup()
{
ImageHelperTest.ClearVisualTestResultFolder();
}
}
public class ImageHelperTest : IUseFixture<EngDev.Test.Fixture>
{
public void SetFixture(EngDev.Test.Fixture data)
{
data.Setup();
}
public static void ClearVisualTestResultFolder()
{
// Logic to clear folder
}
}
Se metto il ClearVisualTestResultFolder
nel costruttore, è anche essere chiamato una volta per ogni metodo di prova. Ho bisogno di questo basta eseguire una volta prima di eseguire tutti i metodi di prova, come posso ottenere questo?
Se è importante, utilizzo il runner di prova ReSharper.