На мою думку, одиничні тестові приклади самі служать документацією для коду. Моя компанія хоче, щоб я писав докладні коментарі до java doc у верхній частині тестових примірників. Чи потрібно це робити? Ви пишете такі коментарі?
На мою думку, одиничні тестові приклади самі служать документацією для коду. Моя компанія хоче, щоб я писав докладні коментарі до java doc у верхній частині тестових примірників. Чи потрібно це робити? Ви пишете такі коментарі?
Відповіді:
Що я роблю, це коментар JAVADOC:
клас із зазначенням того, який клас перевіряється одиницею (навіть якщо це мені очевидно, оскільки найкраща практика з цього питання припускає, що назва тестового випадку має бути назвою класу + "Тест" або + "ТестКаз"). Це робиться за допомогою {@link XXXClass} коментаря JAVADOC
методи із зазначенням того, який метод тестується ({@link XXXClass # method1}). Іноді мені потрібно мати кілька методів тестування для одного методу класу, щоб правильно перевірити всі шляхи. Коли це трапляється, я записую один додатковий рядок із зазначенням того, який шлях я тестую всередині (але я ніколи не відхиляюся від своєї однолінійної конвенції)
Крім цього, жодних інших коментарів немає. Щоб привернути їхню увагу ще десь, можливо, ви могли б використати щось на зразок Cobertura, щоб створити гарну графіку покриття коду та зробити так щасливими :-)
Додаткове зауваження: я маю на увазі тестові приклади, якщо ми говоримо про тести інтеграції, то ще один або два рядки для пояснення того, що відбувається, справді можуть бути необхідними ...
Вимоги до документації для будь-якого коду досить повністю висвітлені у відповідях на це питання: Мій начальник хоче розповісти покрокове англійське пояснення нашого коду
Підсумок відповідей ви побачите там: "Це залежить від вашої ситуації". Бувають випадки, коли це розумно (і заохочується), та інші, де це марно витрачання вашого часу.
Коментарі Javadoc можна витягти та відформатувати в окремому довідковому документі, одиничні тести не можуть. Також майте на увазі, що те, що ви пишете словами, може відрізнятися від фактичного коду, і зазвичай ви описуєте словами фактично очікувану поведінку. Один із способів пошуку помилок - порівняння документації з фактичним кодом, якщо вони не відповідають - це помилка (в будь-якому з них, а іноді - в обох).
Тест блоку призначений для тестування, а не для документації. Використання тестування одиниць як документації є неправильним, і цього не слід робити.