Testing at Trellis: Eight Months Later

Last year the development team and I at Trellis.org really focused on testing. When I wrote out our 2025 Technical Year In Review, we were sitting at:

  • 244 E2E tests
  • 9,142 integration tests
  • 49,374 unit tests

As of today, just 8 months later, we are now at:

  • 270 E2E tests
  • 15,365 integration tests
  • 62,702 unit tests

That is a 10%, 68%, and 27% increase respectively.

Incredibly happy to see the metrics increasing like this, and it shows in the stability of the product. The team and I are so much more confident than we were in years past heading into the busy fall season. If you read the Technical Year in Review, you will see that we didn't even have metrics for 2024 in the integration and unit test categories (we did have then though, I promise) and had a total of zero E2E tests. We are now tracking this and are constantly working on improving our test cover and ensuring that every single new feature we build is covered up to our current standards.

It's worth putting that growth in context: these tests were not added to a codebase standing still. Comparing our last commit of 2025 (December 31) to the current trunk HEAD as of today, we have touched 27,685 files, added 827,355 lines, and removed 353,022, for a net change of +474,333 lines (this does not take into account our Pnpm lockfile). That took the codebase from 2,408,828 lines to 2,883,161, roughly 19.7% net growth in eight months.

That net figure doesn't completely portray how much actually moved: gross churn (every line added plus every line removed, over the baseline) came to about 49%, so we cycled through nearly half the codebase's worth of lines to net that ~20%. Now, we always need to put diffs in context, I do not find that they are an accurate portrayed of code added/removed due to churn because of things like: file renaming, file moving, and other changes that add larger diffs but were the result of minor changes that didn't really change the code.

Overall, while our codebase grew ~20%, our unit tests and integration tests both grew faster (in the case of integration tests, much faster). The only one that did not was our E2E test suite, but those are not added at the same rate by design right now as they are quite a bit heavier to run and are added for critical flows right now, not every flow.

Credit for all the hard work goes to my team Jordan Emslie, Andrew Feltham, and Levi Magnus (and thanks to Robin Hadac for her patience when we say we need to focus on stuff that may sound like gibberish sometimes!). Heading into the fall fundraising season, I am feeling very confident in the systems we have rallied around stabilizing and improving.

You can read more about quality at Trellis here and our 2025 Technical Year in Review here.