|
0 / 0 / 1
Регистрация: 12.06.2017
Сообщений: 36
|
||||||||||||||||
Junit тестирование. Как создавать адекватные модули?28.06.2017, 20:18. Показов 1043. Ответов 2
Разбираюсь с Junit в Eclipse. Eсть LRU и LFU алгоритмы с вложенными классами. Вот LRU класс:
P.S. removeEl******try() это remove Eldest Entry. Редактор форума ставит звездочки почему не знаю Добавлено через 4 минуты я только пытаюсь разобраться, что нужно теститровать и какую именно функциональность необходимо тестировать. В моем примере (class LRUAlgoritm) есть три метода во внешнем классе LRUAlgoritm (get, put, toString) и один во внутреннем классе LRUStorage (remove Eldest Entry). Все они переопределенные. Нужно ли тестировать их логику? Ведь по правилам нужно покрывать тестами 100% кода? Если да, то какие параметры и что на выходе тогда должно быть? второй класс дан как разъяснение других примеров, для наглядности.
0
|
||||||||||||||||
| 28.06.2017, 20:18 | |
|
Ответы с готовыми решениями:
2
тестирование с JUnit Тестирование в JUnit Как в С++ создавать модули (библиотеки)? |
|
164 / 170 / 139
Регистрация: 28.11.2016
Сообщений: 301
|
||||||
| 29.06.2017, 10:02 | ||||||
|
Кликните здесь для просмотра всего текста
Смотрите код. Значит смысл тестирования, как я понимаю, в том, чтобы проверить корректную работу методов. В классе тестирования Вы можете создать хоть 100 методов, необязательно столько, сколько в тестируемом классе. И каждый метод тестирования выполняет свою задачу. Каждый метод тестирования по сути делает проверки, и если проверка дает ошибку assert как раз ее и генерит для пользователя, по сути выбрасывает исключение. Тестовые классы строятся по шаблону @Before @After и @Test @Before метод который запускается для каждого метода тестирования, до него, создает экземпляр тестируемого класса или что то еще, короче подготовка перед запуском любого метода тестирования @After завершение после любого метода тестирования, ну не знаю, закрыть потоки @Test любой тестовый метод. В приведенном коде создан тестовый класс для LRU, проверяется работа методов put, get и toString. Везде вставлены корректные результаты для сравнения, поэтому при запуске ошибок не будет. Поменяйте любой из параметров и увидите как срабатывают Assert.
1
|
||||||
|
0 / 0 / 1
Регистрация: 12.06.2017
Сообщений: 36
|
|
| 04.07.2017, 11:40 [ТС] | |
|
Как я понял изолировать какой то метод из класса при помощи тестирования это чисто сугубо логически и абстрактно. Т.е. создадим какие-то входные данные пустим их на код, а затем ассертом проверяем логику веток программы. Причем мы только проверяем свои догадки по работе программы. А ассерт нашу догадку воплощает на коде и если при работе ассерта ветка логики использовалась, то она тогда и помечается в приложениях по покрытию (JaCoCo и т. д.).
Я ничего не упустил? Тогда остается вопрос, а как понять что ветка логики использовалась напрямую, а не всвязи с проверкой другой логики? Ну например внутренние методы внутренних классов помеченных приват.
0
|
|
| 04.07.2017, 11:40 | |
|
Помогаю со студенческими работами здесь
3
Junit тестирование метода Тестирование метода JUnit Тестирование методов через JUnit JUnit тестирование блока catch
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|