Meines Erachtens ist der einzige Weg, um von Tests zu überzeugen, zu zeigen, dass sie nützlich sind - dh, dass Testfehler dazu beitragen, Fehler zu finden und zu beheben .
Die Art und Weise, wie Sie das Problem beschreiben, scheint hier nicht der Fall zu sein. Aussehen...
... wenn ich ziehe, bricht jemand meine Tests und ich bin derjenige, der sie reparieren muss.
Wenn ich das richtig verstehe, müssen Sie die Tests ändern. Nun, das hört sich nicht so an, als ob Testfehler helfen, Fehler zu finden und zu beheben , oder? Wenn Tests bei der Suche nach Fehlern nicht helfen, ist es eine ziemlich schwache Position, Ihre Kollegen zu überzeugen - was können sie erwarten, um zu gewinnen? langwierige Korrekturen in fragilem Testcode?
Das mag nach einer Sackgasse klingen, ist es aber nicht. Ihr Endziel (überzeugen Sie für TDD) ist immer noch ziemlich sinnvoll, lassen Sie es nicht fallen. Konzentrieren Sie sich einfach darauf, das entdeckte Hindernis zu beseitigen.
Testfehler, die Sie jetzt stören, sind im Wesentlichen "Fehlalarme" - das heißt, dies sind Fehler in Tests, die nicht im Code enthalten sind. Nutzen Sie diese als Gelegenheit, um Tests zu verbessern und zu lernen, wie Sie ein zuverlässiges Testdesign erstellen können. Arbeiten Sie an Tests, um die Häufigkeit von "Fehlalarmen" zu verringern und das Erkennen von echten Fehlern im getesteten Code zu vereinfachen.
Wenn Sie echte Fehler entdecken, lassen Sie Ihre Kollegen dies wissen und helfen Sie ihnen bei der Behebung - und vergessen Sie nicht, darauf hinzuweisen, dass diese Fehler bei Ihren Tests festgestellt wurden. Das ist eine wirklich solide Grundlage, um Ihre Kollegen zu überzeugen.
Es ist erwähnenswert , dass Test - Design Fähigkeiten , die Sie in „vorläufigen“ Stadium entwickeln wird höchstwahrscheinlich wieder benötigt werden, wenn (wenn :) Sie endlich Ihre Mitspieler zu verwenden TDD überzeugen. Denk daran...
... Was würde passieren, wenn Ihre unerfahrenen Kollegen eine testgetriebene Entwicklung erfahren?
Das Erste, was zu erwarten ist, ist, dass Jungs anfangen werden, beschissene Tests zu schreiben und (Horror!) Sogar gute zu brechen, während sie lernen. Um ihnen zu helfen, einen Weg zu finden, wie sie es richtig machen können, benötigen Sie ein solides Verständnis für gutes Testdesign.
Alle Fehler, die Sie jetzt in Ihren Tests finden und beheben, werden von all Ihren Teamkollegen immer wieder wiederholt, wenn sie anfangen zu lernen. Wenn (wann!) Dies passiert, sollten Sie schnell und klar erklären, wie Sie sich verbessern können, wenn Sie möchten, dass sie TDD weiterhin positiv gegenüberstehen.