На мой взгляд, сами случаи модульного тестирования служат документацией для кода. Моя компания хочет, чтобы я написал подробные комментарии по документам Java в верхней части тестовых случаев. Это нужно сделать? Вы пишете такие комментарии?
На мой взгляд, сами случаи модульного тестирования служат документацией для кода. Моя компания хочет, чтобы я написал подробные комментарии по документам Java в верхней части тестовых случаев. Это нужно сделать? Вы пишете такие комментарии?
Ответы:
Что я делаю, так это JAVADOC-комментарий:
класс, указывающий, какой класс тестируется модулем (хотя это должно быть очевидно для меня, поскольку лучшая практика по этому вопросу предполагает, что именем тестового примера должно быть имя класса + "Test" или + "TestCase"). Это делается с помощью {@link XXXClass} комментария JAVADOC
методы, указывающие, какой метод тестируется ({@link XXXClass # method1}). Иногда мне нужно иметь несколько методов тестирования для одного метода класса, чтобы правильно проверить все пути. Когда это происходит, я пишу еще одну строку, в которой указано, по какому пути я тестирую (но я никогда не отклоняюсь от своего однострочного соглашения)
Кроме этого, никаких других комментариев. Чтобы привлечь их внимание в другом месте, возможно, вы могли бы использовать что-то вроде Cobertura для создания красивой графики покрытия кода и сделать их счастливыми таким образом :-)
Дополнительное примечание: я имею в виду примеры модульных тестов. Если мы говорим о случаях интеграционных тестов, то может понадобиться еще одна или две строки для объяснения происходящего ...
Требования к документации для любого кода довольно полно отражены в ответах на этот вопрос: мой начальник хочет построчно изложить английское объяснение нашего кода
В качестве резюме ответов вы увидите там: «Это зависит от вашей ситуации». Есть случаи, когда это разумно (и поощряется), и другие, когда это пустая трата вашего времени.
Комментарии Javadoc могут быть извлечены и отформатированы в отдельном справочном документе, юнит-тесты - нет. Кроме того, имейте в виду, что то, что вы пишете словами, может отличаться от реального кода, и обычно вы описываете словами фактическое ожидаемое поведение. Один из способов найти ошибки - сравнить документацию с реальным кодом, если они не совпадают - это ошибка (в любом из них, а иногда - в обоих).
Юнит тест предназначен для тестирования, а не для документации. Использование модульного теста в качестве документации является неправильным и не должно быть сделано.