Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> тестирование private метадов 
:(
    Опции темы
ОВиталий
Дата 20.10.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



как протестировать private методы из другого класса???

PM MAIL   Вверх
powerOn
Дата 20.10.2008, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Они должны покрываются тестами открытых методов. Если их (private методов) code coverage меньше 100% при 100% code coverage открытых методов, то в них явно присутствуют лишние ветви логики. 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
ОВиталий
Дата 21.10.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



с этим, вроде, разобрался. 
однако, возник другой вопрос связан с покрытием. у меня есть класс который покрыт на 50%, хотя насколько я знают класс может быть покрыт на 0% или 100% и его set-ы протестированые,  но я для них ничего не писал.

Добавлено через 5 минут и 30 секунд
еще хочу учебники по jUnit, jMock и Selenium. желательно бесплатные
PM MAIL   Вверх
powerOn
Дата 21.10.2008, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата(ОВиталий @  21.10.2008,  16:42 Найти цитируемый пост)
однако, возник другой вопрос связан с покрытием. у меня есть класс который покрыт на 50%, хотя насколько я знают класс может быть покрыт на 0% или 100% и его set-ы протестированые,  но я для них ничего не писал.


вопрос, честно говоря, не понял.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
ОВиталий
  Дата 21.10.2008, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



Цитата(powerOn @  21.10.2008,  18:03 Найти цитируемый пост)
вопрос, честно говоря, не понял.


есть такая штука EMMA,  она опредиляет покрытие теста (coverage). так она выдает в список тестируемых классов находящихся в пакете, если к классу написан тест, то класс протесрован на 100%, т.е. class coverage= 100%(даже если все тесты валятся), если нет то 0%, также показываетна сколько % проверены методы класса(method  coverege).
у меня есть класс покрытие которого 50%! мне один мега-мозг сказал, что так и должно быть, а как объясняется не говорит.

надеюсь, я понятно написал....


PM MAIL   Вверх
powerOn
Дата 21.10.2008, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата(ОВиталий @  21.10.2008,  23:15 Найти цитируемый пост)
если к классу написан тест, то класс протесрован на 100%, т.е. class coverage= 100%(даже если все тесты валятся)


Сам факт наличия теста к конкретному классу не означает что код последнего при этом полностью покрыт. Покрытие - это процент выполненных строк кода во время работы теста.  Он может и 5 строчек из 100 покрыть, тогда процент будет равен 5. Если у Вас code coverage для конкретного класса равен 50% это значит что выполнение вашего теста, так или иначе, затронуло лишь каждую вторую строку кода целевого класса. 
Кроме того Emma, должна отчёт сделать (будь то в IDE, или отдельный) и показать какие конкретно строки выполнены, а какие нет.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
ОВиталий
Дата 22.10.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



походу, ты меня не понимаешь...

цитата из некотрого источника:
Цитата

Покрытие кода можно измерить различными путями:

    * Line coverage измерение показывает, выполнялись ли отдельные строки/операторы во время прохождения теста.
    * Basic Block coverage измерение показывает, выполнялись ли неветвящиеся операторы во время прохождения теста.
    * Method coverage измерение показывает, был ли протестирован каждый метод внутри класса.
    * Class coverage измерение показывает, был ли протестирован каждый класс во время прохождения теста.


Class coverage  может быть только 100% или 0%. а у меня есть класс к которому я не писал тест протестирован на 50%.

PM MAIL   Вверх
powerOn
Дата 22.10.2008, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата(ОВиталий @  22.10.2008,  16:42 Найти цитируемый пост)
Class coverage  может быть только 100% или 0%. а у меня есть класс к которому я не писал тест протестирован на 50%.

Если у Вас 2 класса, и при этом тест затрагивает только один, то покрытие по классам будет 50%. 
Вот пример report-a, где покрытие по классам 86%.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
ОВиталий
Дата 22.10.2008, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



там у тебя есть класс org.apache.velocity.anakia NodeList.java

могу поспорить, к этому классу ты тест не писал, но он протестирован на 67%, как это объясняется?


PM MAIL   Вверх
powerOn
Дата 22.10.2008, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата(ОВиталий @  22.10.2008,  18:43 Найти цитируемый пост)
могу поспорить, к этому классу ты тест не писал, но он протестирован на 67%, как это объясняется?


Я вообще к Velocity тесты не писал smile Я просто ссылку привел на пример отчёта с сайта EMMA. 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
ОВиталий
Дата 22.10.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 17.10.2008

Репутация: нет
Всего: нет



тогда, может, советнешь мне пару учебников ко jUnit
PM MAIL   Вверх
powerOn
Дата 22.10.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159





--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0753 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.