Testen Sie Fehler mit MSTest in VS2010

8

Wenn ich meine Komponententests ausführe, werden alle Tests bestanden, aber anstelle von "Testlauf erfolgreich" oder was auch immer die Erfolgsmeldung ist, erhalte ich "Testlauffehler" in der kleinen Leiste, die mir sagt, wie viele meiner Tests bestanden haben. obwohl alle meine Tests bestanden haben.

Wenn ich auf den Text klicke, werde ich auf eine Seite weitergeleitet, die mir sagt, dass die folgenden zwei Dinge passiert sind:

  

Warnung: Konflikt während der Testlaufbereitstellung: Das vom Testcontainer [...] \ Booking.Web.Tests.dll direkt oder indirekt referenzierte Bereitstellungselement '[...] \ Booking.Web.dll' kann nicht bereitgestellt werden zu 'Booking.Web.dll', da sonst die Datei '[...] \ Booking.Web.dll' das Bereitstellungselement '[...] \ Booking.Web.dll', das direkt oder indirekt mit '[. ..] \ Booking.Web.Tests.dll '

     

Fehler: Das ASP.NET-Projekt 'Booking.Web' kann nicht initialisiert werden   Ausnahme wurde ausgelöst: Die Website konnte nicht korrekt konfiguriert werden. Abrufen von ASP.NET-Prozessinformationen fehlgeschlagen. Die Anforderung von Ссылка hat einen Fehler zurückgegeben: Der Remote-Server hat einen Fehler zurückgegeben: (500) Interner Serverfehler.

Ich verstehe nicht die Hälfte dessen, worüber es sich beschwert. Wie kann ich diese Fehler beheben?

(Und als Referenz: Booking.Web ist ein ASP.NET MVC 2 Projekt, Booking.Web.Tests ist ein Testprojekt, [...] ist der vollständige lokale Pfad zu den Projekten in meiner Umgebung, in den meisten die oben genannten Fälle zum Ordner / bin / debug / im Booking.Web-Projekt)

Update: Wie angewiesen, suchte ich in der Ereignisanzeige nach weiteren Informationen. Folgendes habe ich gefunden:

  

3008     Ein Konfigurationsfehler ist aufgetreten.
    08.05.2010 2:26:15 Uhr     08.05.2010 12:26:15
    4ffbe9180c3d4c02adb9ac4d61dd0928
    1
    1
    0
    4484bbf4-1-129177519750954331
    Volles
    /
    D: \ ... \ Booking.Web \
    AASLOEG

     

1876
    WebDev.WebServer40.EXE
    Aasloeg \ Tomas
    ConfigurationErrorsException
    Datei oder Assembly 'Ninject.Web.Mvc, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 79764a4ef1548af1' oder eine der Abhängigkeiten konnte nicht geladen werden. Starke Namens-Signatur konnte nicht verifiziert werden. Möglicherweise wurde die Assembly manipuliert oder es wurde eine Verzögerung signiert, aber nicht vollständig mit dem richtigen privaten Schlüssel signiert. (Ausnahme von HRESULT: 0x80131045) bei
  System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) bei
  System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory () bei
  System.Web.Configuration.CompilationSection.LoadAssembly (AssemblyInfo ai) bei
  System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) bei
  ... Stack-Spur in Absurdum.

    
Tomas Lycken 03.05.2010, 22:17
quelle

2 Antworten

9

Zuallererst - Sie haben Code Coverage aktiviert. Sie können lesen hier darüber. Es gibt also keine Probleme mit Komponententests. Dies ist ein Code-Coverage-Problem.

Zweite Sache - diese Warnung ist in Ordnung - kümmern Sie sich nicht darum.

Drittes Ding - dieser Fehler - das ist das Schlüsselproblem.

Es kann verschiedene Probleme geben - am häufigsten ist es, dass Sie mehr Baugruppen referenzieren sollten. Um herauszufinden, was genau geladen werden soll, müssen Sie zur Ereignisanzeige gehen und sich die Windows Logs- & gt; -Applikation ansehen

    
er-v 08.05.2010, 11:45
quelle
4

Ich hatte denselben Fehler in Bezug auf MS-Test, der sich darüber beschwert, dass eine DLL "deployment item blah.dll" überschreiben könnte.

Dies geschah, weil ich MS-Test für mehrere DLLs gleichzeitig ausgeführt habe:

%Vor%

Als MS-Test das ausführte, versuchte es alle Ausgabe-DLLs aus den Tests zu nehmen und sie in das / Out Verzeichnis des Testlaufs zu legen. In meinem Fall verwiesen Tests.svcs.dll und Tests.core.dll beide auf dieselbe Assembly ( Core.dll ) und versuchten es daher um diese DLL an die gleiche Stelle zweimal zu kopieren (wodurch die Warnung ausgelöst wird).

Um dies zu beheben, habe ich die Testläufe für jede Assembly getrennt, die für jeden Testlauf einen eigenen Ordner / Out für Ausgabe-DLLs

enthielt %Vor%     
Jeffrey Harrington 17.01.2012 23:06
quelle