<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Jacoco on afanasev.net</title><link>https://afanasev.net/categories/jacoco/</link><description>Recent content in Jacoco on afanasev.net</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 10 Apr 2020 16:26:00 +0700</lastBuildDate><atom:link href="https://afanasev.net/categories/jacoco/feed.xml" rel="self" type="application/rss+xml"/><item><title>Filter out classes from JaCoCo report using annotaitons</title><link>https://afanasev.net/kotlin/jacoco/2020/04/10/jacoco-ignore-annotation.html</link><pubDate>Fri, 10 Apr 2020 16:26:00 +0700</pubDate><guid>https://afanasev.net/kotlin/jacoco/2020/04/10/jacoco-ignore-annotation.html</guid><description>&lt;p&gt;&lt;img alt="JaCoCo code coverage report with Generated annotation" loading="lazy" src="https://afanasev.net/assets/img/jacoco-code-coverage.png"&gt;&lt;/p&gt;
&lt;h2 id="story"&gt;Story&lt;/h2&gt;
&lt;p&gt;Engineering culture at scale is difficult to build and even harder to maintain. In our company, we made a deliberate decision to enforce code coverage as a merge requirement — a hard gate on the CI pipeline that prevented branches from being merged unless they met a minimum threshold. We chose 80%: every new or modified class had to be covered by unit tests to at least that level.&lt;/p&gt;</description></item></channel></rss>