<p>I've just added the hundredth test to a client project I'm developing.</p>
<p>I'm following <a href="/daily/2023/09/14/outside-in-or-inside-out">the outside-in approach</a>, starting with functional tests and moving to kernel and unit tests where needed - meaning more functional tests and fewer unit tests - most of which cover some complex search functionality containing custom blocks, forms, endpoints for autocomplete lists, pattern matching and results pages, which is the core functionality of the project.</p>
<p>Here's the breakdown of the different types of tests:</p>
<ul>
<li>Functional - 57 tests, 180 assertions</li>
<li>Kernel - 38 tests, 495 assertions</li>
<li>Unit - 5 tests, 18 assertions</li>
</ul>
<p>The tests are run automatically in a CI pipeline by GitHub Actions and Docker and usually run in two or three minutes.</p>
<p>The project is still in progress, so I'll add more tests for the remaining functionality and possibly remove some too, as I refactor some of the code.</p>
<hr />
<p>P.S. Are you interested in automated testing and test-driven development? I'm speaking about it at DrupalCon Europe on the 17th of October!</p>
<p>You can also pre-register for my free 10-day automated testing email course at https://opdavi.es/testing-email-course.</p>
format:full_html
processed:|
<p>I've just added the hundredth test to a client project I'm developing.</p>
<p>I'm following <a href="/daily/2023/09/14/outside-in-or-inside-out">the outside-in approach</a>, starting with functional tests and moving to kernel and unit tests where needed - meaning more functional tests and fewer unit tests - most of which cover some complex search functionality containing custom blocks, forms, endpoints for autocomplete lists, pattern matching and results pages, which is the core functionality of the project.</p>
<p>Here's the breakdown of the different types of tests:</p>
<ul>
<li>Functional - 57 tests, 180 assertions</li>
<li>Kernel - 38 tests, 495 assertions</li>
<li>Unit - 5 tests, 18 assertions</li>
</ul>
<p>The tests are run automatically in a CI pipeline by GitHub Actions and Docker and usually run in two or three minutes.</p>
<p>The project is still in progress, so I'll add more tests for the remaining functionality and possibly remove some too, as I refactor some of the code.</p>
<hr>
<p>P.S. Are you interested in automated testing and test-driven development? I'm speaking about it at DrupalCon Europe on the 17th of October!</p>
<p>You can also pre-register for my free 10-day automated testing email course at https://opdavi.es/testing-email-course.</p>