Хорошее именование тестовых классов, методов и юзер-степов (если вы используете степовый фреймворк типа thucydides) важно по двум причинам. Во-первых, этот код должен быть понятен любому, кто его читает, без глубокого погружения в контекст. Во-вторых, если вы используете степовый фреймворк – названия классов, методов и степов фигурируют в отчёте.
Именно поэтому нужно избегать слов correct, verify, valid, check и других их синонимов и вариаций при написании тестов. Давайте посмотрим на пример junit-теста:
Начнём с класса – ValidUserInfo. Какой смысл несёт слово valid? Никакого, ведь тест для того и пишется, чтобы проверить валидность, корректность определённого функционала. То же самое касается и метода correctUserEmail – слово correct можно убрать и ничего не изменится.
Остался степ shouldSeeCorrectEmail. Слово correct и здесь не несёт никакой смысловой нагрузки, а только прячет от нас детали проверки, заставляя углубляться в контекст при разборе кода. Согласитесь, что запись shouldSeeEmail(“me@yandex.ru”) намного нагляднее? В ней сразу видно и что мы проверяем, и ожидаемый результат.
Поэтому слова correct, verify, valid, check – мусор, который засоряет ваш код и отчёты. От них нужно избавляться и взять за правило их больше не использовать.
comments powered by Disqus