Ich fragte mich, ob es obligatorisch ist, @covers für private Funktionen zu verwenden. Persönlich bin ich dagegen, da es die Kapselung brechen würde. Und wenn Sie sauberen Code üben, haben Sie wahrscheinlich viele private Methoden, die Sie nicht benötigen, um Ihre Tests zu sehen. Was sind die Argumente dafür und dagegen? Vielen Dank!Sollten wir private Methoden in @covers in PHP-Codeabdeckung einschließen
-1
A
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.
Verwandte Themen
- 1. Warum brauchen wir 'private' Methoden in Ruby
- 2. False Unused "private" Methoden sollten entfernt werden
- 3. Private Methoden in Ruby
- 4. Verständnis private Methoden in Ruby
- 5. In welchen Fällen müssen wir <cassert> einschließen?
- 6. Warum sollten wir die Zugänglichkeit von überschriebenen Methoden erweitern?
- 7. Warum sollten wir veröffentlichen?
- 8. Wann verwenden Sie private Methoden?
- 9. F # Private statische Methoden
- 10. Warum sollten wir Literale in C# verwenden?
- 11. Wann sollten wir '===' Operator in Javascript verwenden?
- 12. Sollten wir Faker in Rails Fabriken verwenden?
- 13. Warum sollten wir Verhalten in FRP
- 14. Warum sollten wir Sitzung in PHP zerstören?
- 15. Sollten wir die Testprotokollierung zusammenführen?
- 16. Method Interceptor auf private Methoden
- 17. Private Methoden und Felder
- 18. Geschützte und private Methoden in Rails
- 19. Wie prüfe ich private Methoden in Rust?
- 20. Warum platziert OpenJDK private Methoden in vtable?
- 21. Testen Sie Schnittstellen in C# private Methoden
- 22. Private Methoden in einer Mootools-Klasse
- 23. Klarheit über Kodierungsstandards für private Methoden
- 24. SPL vs. Array: Wann sollten wir SPL verwenden und wann sollten wir Array in PHP verwenden?
- 25. Zugriff auf "Public" -Methoden von "Private" Methoden in JavaScript-Klasse
- 26. Warum sollten wir statische Aufrufe in PHP verwenden?
- 27. Sollten wir verschachtelte Göroutinen machen?
- 28. Warum sollten wir lua_pushinteger() verwenden?
- 29. sollten wir Path.DirectorySeperatorChar verwenden C#
- 30. Sollten wir BizTalk/ESB einführen?
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. –