2012-10-19 15 views
11

Mit Visual Studio und TFS & vorzugsweise Specflow oder Standard-Unit-Test.Einheitstest vor dem Einchecken

Ich möchte Devs ausführen alle Unit-Test als eine Richtlinie vor dem Einchecken. Wenn ein Komponententest bricht, dann sollte vS sie beim Einchecken stoppen, genau wie bei einem Merge-Konflikt.

Ich weiß, es gibt Post-Build-Skripte, die dies tun, aber wirklich, wenn der Komponententest bricht, ich eher, dass es überhaupt nicht in die Quellcodeverwaltung gelangt. Außerdem ist das Umdrehen eher langsam, um auf den vollständigen Build zu warten. Und dann ist da noch das Gezänk, wer sein Zeug zerbricht.

Also nein, ich möchte Unit-Test vor dem Einchecken lokal passieren. Wie würde ich das tun? Ja, sie können nur auf den Knopf drücken, aber ich mag es, sie ein bisschen mehr "Anreiz" als das zu bekommen.

+0

Ich weiß wirklich nicht, was Sie hier fragen. – Oded

+4

Also nein, ich möchte Unit-Test lokal vor einem Check-in übergeben. Wie würde ich das tun? <- Welchen Teil davon hast du nicht bekommen? – Alwyn

+0

Ich habe nicht den Einwand bekommen "Sie können einfach auf den Knopf drücken". – Oded

Antwort

4

Die TeamCity Visual Studio plugin supports pre-tested commits. Ich kann jedoch nicht für TFS sprechen.

+0

Ja, das ist der Fluss, über den ich spreche, ich werde sehen, ob es passt. – Alwyn

+0

Dies ist die Antwort, aber es wird nicht funktionieren :(Wir haben zu viel in TFS investiert. – Alwyn

+3

Sie könnten TeamCity für Continuous Integration einsetzen und TFS als Versionskontrollsystem behandeln, also TFS nicht ersetzen, sondern nur ergänzen. – jrummell

5

Es klingt wie, was Sie suchen, ist ein TFS Gated Check-in. Dadurch kann sichergestellt werden, dass der Code erstellt, zusammengeführt wird und dass die Tests vor dem Einchecken erfolgreich ausgeführt werden. Hier können Sie mehr darüber lesen:

An introduction to gated check-in

Es ist erwähnenswert, dass es ein sehr langsamer Prozess ist als CI baut, so dass je nachdem, wie viele Check-in Ihre Entwickler tun Sie besser sein können Auschecken eines CI-Builds mit aktivierter Option 'Arbeitselement bei Fehler erstellen' und einer Projektbenachrichtigung, die den Entwickler darüber informiert, dass der Build erstellt wurde.