2015-09-02 14 views
6

Ich stoße auf ein Problem beim Ausführen meiner Tests über NUnit. Ich weiß nicht warum, aber jeder Test läuft zweimal. Der Punkt ist, dass es auf einem anderen Laptop normalerweise nur einmal läuft.Nunit führt jeden Test zweimal aus

Haben Sie jemand das gleiche Problem und wissen, wie man damit umgeht?

Antwort

0

Das Problem tritt normalerweise auf, wenn Sie einen Testcontainer (.dll) mehrere Male laden.

Dies kann passieren, wenn Sie die Testcontainer von einem Root-Floder laden, der sowohl bin- als auch obj-Ordner enthält. Dies ist eine typische Konfiguration von Visual Studio-Projekten.

Versuchen Sie, das Laden des Testcontainers aus den Ordnern zu beschränken.

+0

Eigentlich funktioniert es nicht. Und warum auf den anderen Laptops funktioniert es richtig, aber auf diesem nicht. – MrPug

+0

Haben Sie nach den DLL-Dateien in den Lösungsordnern gesucht? Sie könnten auch für zwei verschiedene Konfigurationen erstellen, z. B. bin \ Release + bin \ Debug –

+0

Nur für einen einzigen. – MrPug

7

Ich hatte das gleiche Problem. In meinem Fall hatte ich sowohl den Visual Studio extension als auch den NuGet package des NUnit Test Runner installiert. Es scheint, dass sie beide die Tests ausgeführt haben, was dazu führte, dass Tests zweimal ausgeführt wurden.

Durch das Deinstallieren der Visual Studio-Erweiterung wurde das Problem behoben.

+0

Ich habe sowohl Visual Studio Extension als auch das Nugget Packege. Das Entfernen des nugget-Pakets löst mein Problem nicht. Ich werde das Gegenteil versuchen. –

+0

Wenn das Problem nicht behoben wird, schauen Sie in der Systemsteuerung unter ** Programme und Funktionen ** nach und deinstallieren Sie die Nunit-Installation von dort. –

+0

Für mich habe ich das Nuget-Paket deinstalliert und VS neu gestartet. – curob

0

Der Testlauf kann auch dupliziert werden, wenn sequentielle Tests versehentlich die gleichen Testparameter haben.

[Test, Sequential] 
      public void Integr_MController_DeleteGet_ReturnsViewAndModel(
[Values("[email protected]", "[email protected]")] string firstEmail, 


[Values("[email protected]", "[email protected]")] HTTPstring updatedEmail) {test code} 

Führt denselben Test zweimal aus und wird im TestExplorer als derselbe Test angezeigt.

0

Ich hatte ein ähnliches Problem bei der Ausführung des Tests mit dem Runner Visual Studio NUnit3, der Test würde nur einmal ausgeführt, aber wenn in der Befehlszeile mit NUnit3-Command.exe ausgeführt wird, würde der Test zweimal ausgeführt. Ich habe viel zu lange damit verbracht, dies zu verfolgen. Ich bemerkte, dass der Befehlszeilen-Runner berichtete, dass 2 Tests ausgeführt wurden und kam zu dem Schluss, dass es ein Problem in der DLL war. Das hört sich vielleicht verrückt an, aber ich habe meinen gesamten Testcode in eine neue Klasse kopiert, den alten Code gelöscht, kompiliert und der Test läuft jetzt nur einmal in beiden Szenarien.

0

In meinem Fall hatte es eine Basisklasse und eine abgeleitete Klasse, beide mit dem TestFixture Attribut. Alle Tests der abgeleiteten Klasse würden zweimal ausgeführt.

Dies wurde behoben, indem nur das Attribut auf die Basisklasse gesetzt wurde.

Verwandte Themen