2016-05-24 16 views
4

Hat jemand versucht, Jest Unit Tests mit TFS 2015 zu integrieren? Ich habe versucht, Chutzpah Test Adapter (https://visualstudiogallery.msdn.microsoft.com/f8741f04-bae4-4900-81c7-7c9bfb9ed1fe?SRC=VSIDE) zu verwenden, aber es ist nicht in der Lage, Scherz zu erkennen. Ich erhalte unter dem Fehler: Can't find variable JestRun Jest Komponententest mit TFS 2015

Wenn ich die Unit-Tests durch "Npm-Test" ausführen, bekomme ich die Ergebnisse. Um jedoch TFS 2015 zu integrieren, benötige ich einen Test-Runner, der Jest-Komponententests ausführen kann, damit ich die Komponententests zusammen mit vstest.console.exe ausführen kann, die das TFS 2015 bietet, um Build-Ergebnisse zu verwalten und Ergebnisse im Build zu veröffentlichen Kurzbericht.

Jede Hilfe würde geschätzt werden !!

Jeder Test Runner, der Tests mit dem Befehl unten ausführen kann, sollte funktionieren (unter Berücksichtigung von VS 2015 auf dem System installiert): "C: \ Programme (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.console.exe“ "\ test.js"/ UseVsixExtensions: true

Antwort

3

Ich bin mir nicht sicher über Scherz, aber es gibt ein nettes NPM-Paket, das TAP-basierte Ergebnisse in xUnit XMLformat konvertieren kann, und dann können Sie das in TFS veröffentlichen.

Werfen Sie einen Blick auf tap-xunit.

Ich hatte eine Build-Umgebung, in der JavaScript-Tests von verschiedenen Tools und Frameworks (AVA, Mocha, Jasmine usw.) durchgeführt wurden. Wir haben beschlossen, sie alle ins TAP-Format zu exportieren, sie mit tap-xunit zu starten und dann in TFS zu veröffentlichen.

Grundsätzlich müssen Sie so etwas wie dieses:

npm test | tap-xunit > results.xml 

Sie die Ergebisse zu abhör xunit und sie in ein XML-Format speichern. Dies gibt Ihnen ein XML-Format, das als xUnit formatiert ist und das Sie in TFS veröffentlichen können. Wenn Sie TFS 2015 verwenden, empfehle ich dringend, mit vNext-Builds zu arbeiten. Überprüfen Sie den Build-Schritt "Testergebnisse veröffentlichen".

2

Erweiterung auf Merlin's answer, hier ist, wie ich publishing jest Testergebnisse und Code-Coverage implementiert haben, um TFS2015 vNext baut (I create-reagieren-App vorformulierten bin mit):

Zuerst benötigten Pakete auf dem Server installieren Sie auf Ihrem Agent ausgeführt wird:

npm installieren -g Scherz-json-to-Tap

npm installieren -g abhör xunit

  1. configure Scherz zur Ausgabe json, durch package.json der "test" Aufgabe Wechsel in: "test": "reagieren-Skripte testen --env = jsdom --json",

  2. configure jest Optionen im Paket .json: "Witz": { "coverageReporters": [ "cobertura"]}

  3. erstellt ein vNext (TFS2015v4) Aufbau mit den folgenden Aufgaben:

ein. "npm" Aufgabe, Befehl = run, Argumente = test - --coverage | jest-json-to-tap | tap-xunit> TEST-result.xml

b. Task "Testergebnisse veröffentlichen", Format = JUnit

c. "public code coverage results" Aufgabe, Code Coverage Tool = Cobertura, Zusammenfassungsdatei = $ (Build.Repository.LocalPath) \ coverage \ cobertura-coverage.xml

  1. stellen Sie sicher, dass Ihr Build "variablen" sind die Umgebungsvariable "CI" = "true"

NOTES Einstellung: - Testergebnisse werden nicht enthalten Zeiten noch Baugruppen - etwas für die Zukunft zu verlängern ...

Voila '! Durch Ausführen dieses Builds werden die Testergebnisse und Code Coverage-Statistiken sowie die Berichtartefakte korrekt veröffentlicht.