SpecFlow unit-test fehlgeschlagen wegen nicht in der Lage zu finden, “TechTalk.SpecFlow" Datei

Habe ich ein VS2010-unit-test-Projekt mit SpecFlow 1.8.1 und mstest. Um die SpecFlow unit-tests zu arbeiten, habe ich Folgendes getan:-

  1. Habe ich noch die Verweise auf die folgenden Dateien in meinem Projekt:-
    Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 
    TechTalk.SpecFlow.dll

    Beachten Sie, dass die TechTalk.SpecFlow.dll Hinzugefügt wurde in meinem Projekt und der Verweis auf diese Datei.

  2. Ich habe den "Copy Local" - Eigenschaft des TechTalk.SpecFlow.dll Verweis auf True.
  3. Außerdem habe ich eine App.Config, die angibt, "MsTest.2010" als Anbieter, und regeneriert alle code-behinds für die SpecFlow Funktionen.

Alles funktioniert in meinem VS2010, die tests laufen erfolgreich sowohl in der SpecFlow testrunner und die mstest-test-runner. ABER wenn ich versuche zu laufen, die mstests in TFS 2008 (mit einem .vsmdi-test-list-Datei), es konnte nicht mit der folgenden Ausnahme:-

Class Initialization method MyNamespace.MyTestFeature.FeatureSetup threw exception.
System.Configuration.ConfigurationErrorsException:
System.Configuration.ConfigurationErrorsException: An error occurred creating the
configuration section handler for specFlow: Could not load file or assembly
'TechTalk.SpecFlow' or one of its dependencies. The system cannot find the file
specified. (D:\Projects\TestProject\TestResults\administrator_MYPC 2012-06-27
18_30_05_Any CPU_Debug\Out\TestProject.DLL.config line 4) --->
System.IO.FileNotFoundException: Could not load file or assembly 'TechTalk.SpecFlow'
or one of its dependencies. The system cannot find the file specified.

Beachten Sie, dass die TFS gebaut, das Projekt in Ordnung und es läuft andere Komponententests im gleichen Projekt (normal mstests, nicht SpecFlow) ohne Probleme. Es nur nicht für die SpecFlow Tests läuft.

Also was mache ich falsch?

Bearbeiten: Die Inhalte meiner App.Config-Datei sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section
       name="specFlow"
       type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/>
  </configSections>
  <specFlow>
    <unitTestProvider name="MsTest.2010" />

    <runtime detectAmbiguousMatches="true"
         stopAtFirstError="false"
         missingOrPendingStepsOutcome="Inconclusive" />

    <trace traceSuccessfulSteps="true"
           traceTimings="false"
           minTracedDuration="0:0:0.1" />
  </specFlow>
</configuration>
Können Sie kopieren Sie Ihre app.config-Datei auch? Mine sieht wie folgt aus: pastebin.com/exKSSdPm
Ich habe die App.Config-Datei Inhalt wie oben.
Beachten Sie, dass ich mit VS2010, also mein Anbieter hat "MsTest.2010", nicht "MsTest".
Vielleicht ist das die Ursache - ich bin mit VS2010 auch.
Funktioniert nicht. Gleichen Fehler. 🙁

InformationsquelleAutor SF Lee | 2012-06-27

Schreibe einen Kommentar