2013-02-17 21 views
7

Ich bin ernsthaft genervt. \ TestResults und Testimplementierung Chaos. Jetzt versuche ich es komplett auszuschalten, aber nichts funktioniert. Von here:So deaktivieren Sie die Testbereitstellung in VS2012

Betrachten Sie Ihre Unit-Tests direkt in dem Build-Ausgabe-Verzeichnis ausgeführt wird, so dass die Prüfung schneller läuft. Dies ist besonders nützlich auf dem Build-Server, nachdem Sie Ihre Tests eingecheckt haben. Fügen Sie dazu eine .runsettings-Datei zu Ihrer Lösung hinzu, schließen Sie False ein, und wählen Sie die Datei im Menü Test, Testeinstellungen aus. Derselbe Effekt tritt in jedem Testlauf auf, in dem DeploymentItemAttribute überhaupt nicht verwendet wird. Sie können jedoch nicht vermeiden, einen Bereitstellungsordner zu verwenden, wenn Sie eine .testsettings-Datei verwenden, die für Web- und Auslastungstests, codierte UI-Tests und alle Tests erforderlich ist, in denen Sie eine Anwendung auf Remotecomputern bereitstellen.

  1. Ich habe versucht, eine leere Lösung mit nur C# Unit-Test-Projekt zu erstellen, die in ihm Einheit Testdatei mit einzelner Zeile enthält: string text = File.ReadAllText("test.txt"); Und raten Sie mal, wo es diese Datei sucht? C: \-Code \ TestDeployment \ Testresults \ iLonely_ILONELY-PC 2013.02.17 13_33_37 \ Out \ test.txt

  2. Ich versuchte test.runsettings zur Lösung Datei hinzuzufügen, wie here beschrieben:

    <!-- MSTest adapter --> 
        <MSTest> 
        <MapInconclusiveToFailed>True</MapInconclusiveToFailed> 
        <CaptureTraceOutput>false</CaptureTraceOutput> 
        <DeleteDeploymentDirectoryAfterTestRunIsComplete>False</DeleteDeploymentDirectoryAfterTestRunIsComplete> 
        <DeploymentEnabled>False</DeploymentEnabled> 
        </MSTest> 
    

    Ich wählte es über Test -> Testeinstellungen -> Wählen Sie Testeinstellungen Datei, führte Tests ... Und das Ergebnis war das gleiche.

Kann mir jemand erklären, wie Tests von Output \ bin {Konfiguration} Ordner laufen?

WICHTIG: Ich habe keine .testsettings Datei, ich verwende nicht DeploymentItem Attribut.

+0

Jeder Code, der Dateien mit einem relativen Pfadnamen lädt, ist defekt. Ihr Test zeigte Ihnen das Problem, schießen Sie nicht den Boten. –

+2

Ich schrieb diesen Test, nur um zu sehen, wo es die Datei nachschlägt und wo es den Test durchführt. Also sollte es scheitern. – lonelyass

Antwort

2

Ich fand heraus, dass dies ein ReSharper-Problem ist. Wenn ich Test von VS-Runner ausführen, funktioniert alles einwandfrei, es wird von Output \ bin {Configuration} ausgeführt. Wenn ich einen Test mit dem ReSharper-Runner starte, läuft es vom Deployment-Dir, egal was ich mache. Jetzt lautet die Frage: Wie kontrolliere ich die MSTest-Bereitstellung für den ReSharper-Test-Runner?

+0

jedes Update auf die Antwort darauf? –

+0

Ich habe gerade dieses nervige Problem mit VS2012 + Resharper auch getroffen, jeder hat eine Antwort bekommen? – nrjohnstone

+0

Nein, ich habe mit TestDriven.NET begonnen, um meine Tests durchzuführen. Funktioniert gut, ist auch viel schneller und läuft dann mit ReSharper. Aber es hat keine ausgefallene Benutzeroberfläche für Ergebnisse. – lonelyass

3

In Bezug auf die folgende Frage, wie MSTest-Bereitstellung für ReSharper Test Runner zu steuern, lief ich gerade in das gleiche Problem und löste es.

Standardmäßig funktioniert es nicht, aber Sie können es einrichten, indem Sie ReSharper auf Ihre .testsettings-Datei gemäß these directions zeigen.

Verwandte Themen