![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ОВиталий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
как протестировать private методы из другого класса???
|
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Они должны покрываются тестами открытых методов. Если их (private методов) code coverage меньше 100% при 100% code coverage открытых методов, то в них явно присутствуют лишние ветви логики.
|
|||
|
||||
| ОВиталий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
с этим, вроде, разобрался.
однако, возник другой вопрос связан с покрытием. у меня есть класс который покрыт на 50%, хотя насколько я знают класс может быть покрыт на 0% или 100% и его set-ы протестированые, но я для них ничего не писал. Добавлено через 5 минут и 30 секунд еще хочу учебники по jUnit, jMock и Selenium. желательно бесплатные |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
||||
|
||||
| ОВиталий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
есть такая штука EMMA, она опредиляет покрытие теста (coverage). так она выдает в список тестируемых классов находящихся в пакете, если к классу написан тест, то класс протесрован на 100%, т.е. class coverage= 100%(даже если все тесты валятся), если нет то 0%, также показываетна сколько % проверены методы класса(method coverege). у меня есть класс покрытие которого 50%! мне один мега-мозг сказал, что так и должно быть, а как объясняется не говорит. надеюсь, я понятно написал.... |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Сам факт наличия теста к конкретному классу не означает что код последнего при этом полностью покрыт. Покрытие - это процент выполненных строк кода во время работы теста. Он может и 5 строчек из 100 покрыть, тогда процент будет равен 5. Если у Вас code coverage для конкретного класса равен 50% это значит что выполнение вашего теста, так или иначе, затронуло лишь каждую вторую строку кода целевого класса. Кроме того Emma, должна отчёт сделать (будь то в IDE, или отдельный) и показать какие конкретно строки выполнены, а какие нет. |
|||
|
||||
| ОВиталий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
походу, ты меня не понимаешь...
цитата из некотрого источника:
Class coverage может быть только 100% или 0%. а у меня есть класс к которому я не писал тест протестирован на 50%. |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Если у Вас 2 класса, и при этом тест затрагивает только один, то покрытие по классам будет 50%. Вот пример report-a, где покрытие по классам 86%. |
|||
|
||||
| ОВиталий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
там у тебя есть класс org.apache.velocity.anakia NodeList.java
могу поспорить, к этому классу ты тест не писал, но он протестирован на 67%, как это объясняется? |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
||||
|
||||
| ОВиталий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
тогда, может, советнешь мне пару учебников ко jUnit
|
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
||||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |