Бесконечные тесты 🍀
Сложные и интересные тесты каждый день. 👍 Подписывайтесь, будет интересно. 💛 👉 Тесты на эрудицию✅ 👉 Тесты на кругозор✅ 👉 Тесты на логику✅
Канал · 133
1 год назад
Покрытие тестами и/или Как добавить JaCoCo в проект Gradle Чтобы спокойно спать по ночам разработчикам нужно писать тесты. Много тестов. И один из способов проверять себя - это следить за процентным покрытием тестами кода. В нормальном проекте, в котором есть время на их написание, обычно планка идет от 80% и выше, но не больше чем 95%. Здесь не нужно упарываться и доводить эту планку до 100%. Да, я знаю, что даже 100% покрытие тестов не гарантирует, что наш код оттестирован полностью. Но это и не цель - цель понимать, какое кол-во кода ВООБЩЕ НЕ ТЕСТИРУЕТСЯ. Это очень важный пункт и его нужно понимать. То есть если у нас покрытие 49%, то это значит, что в 51% кода тесты вообще не бывали и как там оно работает одному богу известно. А это в свою очередь гарантирует, что могут быть тривиальные дефекты, проблемы с рефакторингом и прочие "радости" побочки при отсутствии тестов. Самый быстрый и простой способ следить за этим - это добавить JaCoCo (Java Code Coverage) плагин. Он поможет нам в этом деле. Покажу на примере работы с gradle, благо там все просто. Нужно добавить следующую кодовую часть в build.gradle: В секцию плагинов добавить плагин JaCoCo: plugins { ... id 'jacoco' ... } Далее еще настройки, коих по началу хватит с головой, чтобы решить эту проблему: jacoco { toolVersion = "0.8.7" } test { finalizedBy jacocoTestReport } jacocoTestReport { reports { xml.enabled true html.enabled true csv.enabled false } } jacocoTestCoverageVerification { violationRules { rule { limit { // минимальное покрытие тестами в процентах minimum = 0.50 } } } } check.dependsOn jacocoTestCoverageVerification И все, теперь при запуске билда gradle clean build если покрытие будет меньше 50%, то выйдет ошибка такая: * What went wrong: Execution failed for task ':your-project:jacocoTestCoverageVerification'. > Rule violated for bundle your-project: instructions covered ratio is 0.49, but expected minimum is 0.50 И все, дело в шляпе. Далее дело уже за вами. Разумеется всех желающих сказать свое мнение приглашаю в коменты) Джавист Роман | Подписаться
7 месяцев назад
«SCJP Sun Certified Programmer for Java 5 Study Guide (Exam 310-055) (Certification Press Study Guides)» Bert Bates, Katherine Sierra Get the book that shows you not only what to study, but how to study. The only classroom-based integrated study system for professional certification gives you complete coverage of all objectives for the Sun Certified Programmer for Java 5 exam, hundreds of practice exam questions, and hands-on exercises. The CD-ROM features full practice exam software plus an adaptive test engine. Это и многое другое вы найдете в книге SCJP Sun Certified Programmer for Java 5 Study Guide (Exam 310-055) (Certification Press Study Guides) (Katherine Sierra, Bert Bates). Напишите свою рецензию о книге Bert Bates, Katherine Sierra «SCJP Sun Certified Programmer for Java 5 Study Guide (Exam 310-055) (Certification Press Study Guides)» https://izbe.ru/book/355049-scjp-sun-certified-programmer-for-java-5-study-guide-exam-310-055-certification-press-study-guides-katherine-sierra-bert-bates/