|
Модераторы: LSD |
|
||
|
EvilsInterrupt |
|
|||
Executables research Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
Почитал различные статьи по теме юнит-тестирования в Java, но так и не смог остановиться на чем-то конкретном. Я начинающий в Java , а TDD применяю при разработке на C++ с помощью Boost.Test.
Прошу помощи в выборе ) |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15708 Регистрация: 24.3.2004 Репутация: 1 Всего: 537 |
JUnit 4 самый распространенный и большинство других фреймворков умеют интегрироваться именно с ним. JUnit 3 устарел, так что имеет смысла его использовать.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
LSD, Я что-то не обнаружил фичи которая есть в TestNG это возможность задать зависимость одного теста от другого. Может я ее проморгал и она есть в JUnit4 ?
|
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15708 Регистрация: 24.3.2004 Репутация: 1 Всего: 537 |
Есть всякие обходные пути добиться этого, но стандартного - нет. Это сделано намеренно Unit Testing Guidelines.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
LSD, Вы про "8. Keep tests independent" ?
|
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15708 Регистрация: 24.3.2004 Репутация: 1 Всего: 537 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
LSD, Это весьма спорное утверждение. Применяю TDD программируя на C++ и в результате пришел к выводу, что есть куски кода, которые зависят от корректной работы других.
К примеру: Есть функция записи в лог, которая берет std::string filename и она будет некорректной, если вдруг по каким-либо причинам сам std::string работает не верно. Следовательно testWriteToLog() зависит от testStdString(). Вернее не зачем выполнять тест testWriteToLog(), если testStdString() провален. |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15708 Регистрация: 24.3.2004 Репутация: 1 Всего: 537 |
Безусловно. Любую практику можно оспаривать, более того любая практика имеет границы применимости и условия при которых она становится вредной. Я просто указал, что это сделано намерянно и привел аргументацию почему. Неудачный пример, модуль содержащий std::string должен быть независимым от модуля логгирования. Это две независимые библиотеки. Соответвенно тестироваться они должны независимо. Если в std::string есть проблемы, то он не должен собраться и модуль с логгированием или не собираетя или собирается используя предыдущую стабильную версию библиотеки. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
Да, это две независимые между собой части приложения, но они не зависимы Физически. Однако логически они зависимы друг от друга по той лишь причине что одна из них работает лишь только тогда, когда вторая работает корректно и хорошо! Еще раз: Если проверка по корректной работе std::string завершена с ошибкой, т.е. failed , то осуществлять проверку корректной работы записи в лог не имеет смысла и эту проверку сразу же считать "failed". Приведу аналогию из жизни: Вы решили купить диван, но Вы же не поедите в магазин сразу же! Уверен Вы откроете свой любимый веб-браузер и узнаете часы работы магазина. Если вдруг Вы узнаете, что магазин работает до 19:00 сегодня, а сейчас уже 18:55, то уверяю Вы останетесь дома! По одной лишь причине нету никакого смысла ехать в магазин, если до конца рабочего дня в магазине осталось 5 мин. Результат попытки покупки дивана уже известен, т.к. за 5 мин приехать - выбрать - оплатить - вынести из магазина вы вряд ли сможете. С тестами точно также! Есть тесты которые проверяют компоненты используемые в работе других компонентов. Если первый тип тестов завершается с ошибкой, то не имеет смысла осуществлять проверку второго типа тестов. Кстати именно по этому в TestNG есть возможность указать что тест зависит от какого-либо другого. |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15708 Регистрация: 24.3.2004 Репутация: 1 Всего: 537 |
Еще раз: я не говорил про отсутвие зависимостей, я говорил про то что модули должны собираться независимо. Пихать в один модуль и строки и логгирование это плохой дизайн. Вообще не вижу никакой связи сабжем. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Design, Quality, Testing | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |