DeploymentItem verhält sich in VS2010 und VS2012 anders

9

Ich habe eine VS2010-Lösung, die ich auf VS2012 aktualisieren möchte.

Ich habe ein Problem mit den MSTest Unit Tests in VS2012. Alle Tests enthalten DeploymentItem-Attribute für die Testklasse.

%Vor%

Im Jahr 2010 kopiert es die abhängigen Dateien korrekt aus dem Verzeichnis SolutionDirectory\SubDir\SubDir2\models .

Im Jahr 2012 versucht es, aus dem Verzeichnis zu kopieren, in dem die Tests bereitgestellt werden: SolutionDirectory\UnitTests\bin\debug\SubDir\SubDir2\models

Ich suche nach einer Möglichkeit, das alte Verhalten wiederherzustellen.

    
Jonathan Taylor 26.08.2012, 17:09
quelle

2 Antworten

4

Wenn Sie eine Testeinstellungsdatei in Ihrer Lösung erstellen, aktivieren Sie die Bereitstellung darin (die Bereitstellung ist standardmäßig in den Testeinstellungen deaktiviert) und wählen Sie sie im Test-Explorer aus (Test - & gt; Testeinstellungen - & gt; Testeinstellungen auswählen ), dann sollte es funktionieren, ohne den Code zu ändern.

    
Aseem Bansal 19.02.2013 19:38
quelle
1

Nach der Installation von vs2012 und .net 4.5 sieht das deploymentitemattribute nicht mehr synchron mit dem Ort aus, an den es die Dateien verschiebt und wo die ausführbare Datei während der Testausführung nach den Dateien sucht.

Günstige Problemumgehung:

  1. Belassen Sie den deploymentitemattribute Pfad so wie er ist
  2. Sehen Sie, wohin die Datei nach
  3. verschoben wird
  4. Ändern Sie den Testcode, um an diesem Ort nachzusehen

Vor diesem Upgrade war mstest so intelligent, dass es auch dann Deployment-Elemente finden konnte, wenn sie in ein Unterverzeichnis im Verzeichnis bin verschoben wurden. Scheint, das ist nicht mehr der Fall.

Vor dem Upgrade könnte also eine Zeile Ihres Unit-Test-Codes so aussehen ...

%Vor%

Nach dem Upgrade könnte eine Zeile Ihres Unit-Test-Codes so aussehen ...

%Vor%     
sjdirect 28.08.2012 17:18
quelle