Ich bin dabei, mich mit Hilfe der Code-Coverage mit der Entwicklung zu befassen, und ich frage mich, wie es typischerweise in die testgetriebene Entwicklung passt.
Ist Code Coverage ein nachträglicher Einfall? Geht Ihr Prozess so etwas wie
?Oder führen Sie Code-Coverage am Ende durch, nachdem zahlreiche funktionale Teile implementiert wurden und gehen Sie dann zurück und arbeiten Sie auf 100% Deckung?
Die dritte Option, die ich mir vorstellen kann, ist eine 100% ige Abdeckung, bevor die Funktionalität implementiert wird.
Welche davon ist am gebräuchlichsten und was sind die Vorteile?
Sie schreiben keine Tests, bis die Codeabdeckung 100% erreicht hat. Wenn Sie TDD verfolgt haben, gibt es no Code, der jemals geschrieben wurde, ohne von einem Test benötigt zu werden. Sie sollten also immer in der Nähe von 100% Abdeckung sein.
Stattdessen schreiben Sie Tests, bis alle Tests bestanden haben und bis alle erforderlichen Tests geschrieben wurden. Dies bedeutet, dass der gesamte erforderliche Code geschrieben wurde, da Sie nur Code geschrieben haben, wenn dies für einen Test erforderlich war.
Bei TDD sollten Sie bei der Entwicklung von neuem Code fast immer 100% abdecken, da Sie keinen Code entwickeln, den Sie nicht testen müssen. Nur wenn Sie denken, dass der Code so einfach ist, dass Sie keinen Test benötigen (etwa wie eine automatische Eigenschaft in C #), sollten Sie Code haben, der nicht speziell behandelt wird. Sie können durch Refactoring manchmal nicht benötigte Blöcke einfügen oder den Code auf unerwartete Weise ändern, sodass Sie die Abdeckung zu diesem Zeitpunkt verwenden möchten, um sicherzustellen, dass Sie nicht versehentlich nicht getesteten Code eingeführt haben. Abgesehen davon würde ich sagen, dass ich es mehr als eine Gesundheitsüberprüfung benutze und regelmäßig Coverage-Analysen aus den gleichen Gründen mache. Es kann auch sehr nützlich sein, wenn deine Disziplin zusammenbricht und du versäumst, auf TDD-Art zu arbeiten.
Denken Sie daran, dass Sie einen Test verwenden können, der tatsächlich Code verwendet, der durch Zufall abgedeckt wird. Sie müssen vorsichtig sein, besonders beim Starten von TDD. Oh, ich bin in dieser Funktion und ich weiß, ich muss diese kleine winzige dünne Abendessen Minze hinzufügen, während ich daran bin, warum nicht eine andere Minze. Bevor Sie es wissen, haben Sie eine Menge ungeprüften Code.
Schreibtest: Fehler Code schreiben: Übergeben Refactor: Bestanden
Nach oben
Tags und Links code-coverage tdd