0

Ich habe viele Integrationstests für eine API geschrieben, an der ich gerade arbeite.Ermitteln, ob meine Tests unter Visual Studio Team Services ausgeführt werden

Wenn ich die Integrationstests lokal ausführen möchte, möchte ich die API selbst hosten und die Integrationstests ausführen.

Allerdings habe ich eine Build-Definition für VS Team-Dienste, die den Integrationstest nach der API-Bereitstellung ausführt, möchte ich die Tests für die bereitgestellte API ausführen, aber dafür muss ich meinen Code ändern, so dass es nicht mehr hosten Sie es selbst und testen Sie es stattdessen mit der implementierten API.

Gibt es eine Möglichkeit, während der Laufzeit festzustellen, wo meine Tests ausgeführt werden?

Dank

Antwort

0

Wenn Sie VSTS Hosted Build-Agenten werden mit dem Build und Test auszuführen, hat der Maschinenname dieser Mittel ein Format wie "TASKAGENTX-XXXX". Sie können es (Environment.MachineName) verwenden, um zu bestimmen, ob der Test auf VSTS oder Ihrem lokalen Computer ausgeführt wird.

Übrigens, was ist der Unterschied zwischen dem Test auf Ihrem lokalen Computer und VSTS? Ist es nur eine andere URL? Wenn ja, können Sie Ihrem Projekt eine Konfigurationsdatei hinzufügen und Ihre Tests aktualisieren, um die URL in der Konfigurationsdatei zum Testen zu lesen. Verwenden Sie dann SlowCheetah, um eine Umwandlung durchzuführen, um die URL beim Erstellen und Testen von VSTS zu wechseln.

+0

Ich bekomme Zugriff verweigert, wenn ich versuche, die API für meine Integrationstests auf VSTS zu hosten, so dass mein Code von Selfhost zu der Live-API wechseln muss, habe ich noch keine Lösung zu diesem Zugriff verweigert Problem, so dass ich arbeite daran herum :) –