So führen Sie den Setup-Code in einem xUnit.net-Test nur einmal aus

Ich versuche, meine Tests mit Xunit einzurichten. Ich muss zu Beginn der Tests alle Bilder in einem Ordner löschen. Bei jeder Methode wird die Größe der Bilder geändert und eine Kopie der Ausgabe in diesem Ordner gespeichert. Der Ordner sollte nur einmal geleert werden, und dann speichert jede Methode ihr eigenes Bild in dem Ordner.

Wenn ich benutzeIUseFixture<T>, dasClearVisualTestResultFolder Die Funktion wird immer noch vor jedem Test aufgerufen, sodass ich nur ein Bild im Ordner habe.

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
    }
}

Wenn ich das legeClearVisualTestResultFolder im Konstruktor wird es auch für jede Testmethode einmal aufgerufen. Ich muss dies nur einmal ausführen, bevor alle Testmethoden ausgeführt werden. Wie kann ich dies erreichen?

Wenn es darauf ankommt, verwende ich den ReSharper-Testläufer.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage