it-swarm.com.de

Xunit Unit Tests werden nicht ausgeführt

Ich bin bei diesem Thema völlig gefangen. Mein Team hat also ein Komponententestprojekt in einem Servicetestprojekt. Die Tests werden im Test-Explorer-Fenster entdeckt. Wenn ich jedoch die Tests versuche und ausführen, erhalte ich folgende Fehler: 

'Mehrere Testadapter mit dem gleichen URI 'executor: // xunit/VsTestRunner2' wurde gefunden. Adapter ignorieren 'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Bitte deinstallieren Sie die in Konflikt stehenden Adapter, um diese Warnung zu vermeiden '

'[xUnit.net 00: 00: 00.0251250] Überspringen: (Die __.abhängige Assembly' Microsoft.Extensions.DependencyModel, Version = 1.1.0 'konnte nicht gefunden werden.)

'In C:\ist kein Test verfügbar. Stellen Sie sicher, dass der Test Entdecker und Executoren sind registriert und Plattform- und Framework-Version Einstellungen sind angemessen und versuchen Sie es erneut. '

Kontextinformationen:

  • Xunit 2.2.0
  • Visual Studio 15.5.2
  • Windows 10 1709 Build: 16299.125

Meine Testprojekte project.json: 

{
   "version": "1.0.0-*",
   "testRunner": "xunit",
    "dependencies": {
       "dotnet-test-xunit": "2.2.0-preview2-build1029",
       "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.1.3",
       "Microsoft.DiaSymReader": "1.0.8",
       "Microsoft.DiaSymReader.Native": "1.4.1",
       "Microsoft.Extensions.Logging.Abstractions": "1.1.2",
       "Microsoft.Extensions.Testing.Abstractions": "1.0.0-preview2-003121",
       "Newtonsoft.Json": "9.0.1",
       "WebServices": "1.0.0-*",
       "xunit": "2.2.0",
       "xunit.abstractions": "2.0.1",
       "xunit.assert": "2.2.0",
       "xunit.core": "2.2.0",
       "xunit.extensibility.core": "2.2.0",
       "xunit.extensibility.execution": "2.2.0",
       "xunit.runner.utility": "2.2.0"
   },
   "frameworks": {
    "net461": {
        "dependencies": {
            "Microsoft.NETCore.Platforms": "1.1.0"
        }
    }
}

Das Seltsame ist, dass es für meine Teammitglieder funktioniert. Aber nicht ich. Die Unterschiede in unseren Umgebungen sind: das neueste Update von Windows und Visual Studio, während sie ein oder zwei Updates hinter sich haben. 

Kennt jemand eine Problemumgehung?

16
CMR

Ich hatte das gleiche Problem und habe dieses Problem behoben, indem Visual Studio 2017 von 15.5.2 auf 15.5.4 aktualisiert wurde und meine Referenzen für das Testprojekt aktualisiert wurden:

<ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />
    <PackageReference Include="xunit" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>

zu:

<ItemGroup>
    <PackageReference Include="xunit" Version="2.3.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
</ItemGroup>

Und starten Sie Visual Studio neu (anscheinend speichert VS die vorherige Version und verwendet sie auch nach der Aktualisierung).

Nicht sicher, ob eines der drei Dinge oder die Kombination davon das Problem behoben hat.

12
Xavier Poinas

Das Installieren oder Aktualisieren des Pakets "xunit.runner.visualstudio" hat für mich den Trick gebracht. Bis dahin funktionierte es nicht mit Framework 462.

8
Pravin

Ich bin auf das gleiche Problem gestoßen, habe jedoch bereits Visual Studio 2017 15.5.4 installiert. Damit es funktioniert, habe ich alle xunit-bezogenen Referenzen aktualisiert. Jetzt sehen meine relevanten .csproj-Referenzen so aus:

<ItemGroup>
   <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
   <PackageReference Include="xunit" Version="2.3.1" />
   <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>

Nicht wirklich sicher, was nicht funktioniert hat, aber ich rate Ihnen, sicherzustellen, dass diese Referenz in csproj sind und über diese Mindestversionen verfügen.

1
Alexei

Ich hatte ein ähnliches Problem wie Sie und sagte could not find dependent Assembly; Diese Assembly war tatsächlich vorhanden und für den xUnit VS-Läufer verfügbar. Das eigentliche Problem bestand jedoch darin, dass Visual Studio standardmäßig den 32bit-Testläufer verwendet. Die "abhängige Assembly", die nicht gefunden werden konnte, war lediglich eine andere Prozessorarchitektur als der verwendete xUnit-Testläufer.

Um das Problem mit hier zu beheben, rufen Sie im Visual Studio-Menü Test -> Test Settings -> Default Processor Architecture auf und setzen Sie X64, wenn Sie 64bit-Assemblys verwenden, oder X86, wenn Sie 32bit-Assemblys verwenden. Der Fehler, den der xUnit VS-Runner ausgibt, ist sehr irreführend, um das Problem zu beheben.

Dieses Problem trat bei der Installation von Visual Studio auf einem neuen Computer auf. Die Tests würden auf meinem Desktop-Maching in Visual Studio ausgeführt, jedoch nicht auf meinem Laptop.

0
Michael Yanni