2016-08-04 30 views

Antwort

2

Sie sollten sich auf das Testverhalten konzentrieren, das durch öffentliche Methoden verfügbar gemacht wird, und sich nicht mit privaten Methoden befassen, die sich beim Refactoring häufig ändern können. Meiner Erfahrung nach ist die Verwendung von Code-Coverage-Tools schädlicher als gut, da sie von den Kernprinzipien von TDD ablenkt und oft dazu führt, dass Entwickler die Metriken spielen.

+0

Ich stimme zu. Ich finde, dass die Codeabdeckung keine gute Qualitätsmetrik ist, da einige Klassen nicht testbar sein sollen, z. B. die Schichten in der Nähe von Datenbanken, UI, Dateien usw. Und nach meiner Erfahrung versuche ich viele TDD-Neulinge zu erreichen 100% ige Codeabdeckung durch Aufdecken privater Methoden und Verwenden von unbeholfenen Mocks Ich könnte den ganzen Tag darüber reden, aber das ist nicht meine Angelegenheit. In einem Szenario, in dem wir an einem riesigen Projekt mit mehreren Teams arbeiten, in dem eine Codeabdeckung erforderlich ist, gibt es in PHP eine Möglichkeit, die Verwendung von @covers für private Methoden zu vermeiden. –