typelevel/cats-effect-testing
57.7
Adequate · 20 September 2026
743
lines of production code
Scala
primary language
1
measurement over time
What this system is
This system is a testing library for the Cats Effect framework that provides integration adapters for specs2, ScalaTest, utest, and minitest. It enables developers to write asynchronous and deterministic tests for IO and SyncIO effects across JVM, JavaScript, and Scala Native platforms. The library offers utilities for runtime configuration, resource lifecycle management, and converting effectful computations into standard test assertions.
Behavioural changes
Library rebranded to cats-effect-testing with expanded framework support
The library has been renamed from cats-effect-specs2 to cats-effect-testing and is now published under the org.typelevel groupId (previously com.codecommit). It now supports integration with four testing frameworks—specs2, ScalaTest, µTest, and minitest—each available as separate dependencies (e.g., cats-effect-testing-specs2, cats-effect-testing-scalatest, cats-effect-testing-utest, cats-effect-testing-minitest). The project has migrated from Travis CI to sbt-typelevel, updated the scalafmt version to 3.11.5, and added JVM options for memory and garbage collection tuning.
(repo-wide) · high confidence
Test coverage
Add platform-specific test scaffolding for JS/Native Specs2 integration; Added RuntimePlatform test helper for JVM; Added ScalaTest integration support for Scala Native; Added ScalaTest integration support for cats-effect; Added ScalaTest integration tests for Cats Effect resources and IO assertions; Added Specs2 integration tests for Cats Effect; Added UnsafeRun testing utility for converting effects to Futures; Added minitest integration test suites for Cats Effect IO; Added minitest test suites for deterministic and non-deterministic IO execution; Added tests for ScalaTest integration and deadlock safety; Added utest test suites for deterministic IO and generic effect testing; Added utest-based test suites for IO testing.
Dependencies
Upgrade to Cats Effect 3.7.0 and Scala 3.3.8 support
The library has been updated to use Cats Effect 3.7.0 and now supports Scala 3.3.8 (alongside 2.12.21 and 2.13.18). This change brings the base version to 1.8 and updates the underlying testing dependencies, including specs2-core to 4.23.0, ScalaTest to 3.2.20, utest to 0.9.5, and minitest to 2.9.6. The build infrastructure has also been migrated to sbt-typelevel, enabling cross-compilation for JavaScript, JVM, and Native platforms for the core, specs2, scalatest, and utest modules.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 58.
Lenses
- Code Health 99
- Architecture 69
- Maturity 56
- Readiness 50
- Security 70
Changes since last survey
- 300 commits — 297 feature/other, 3 fixes
By area
- (repo) — 141 commits
- (root) — 75 commits
- project/build.properties — 34 commits
- project/plugins.sbt — 30 commits
- .github/workflows — 11 commits
- specs2/shared — 3 commits
- core/shared — 2 commits
- minitest/shared — 2 commits
- scalatest/shared — 1 commit
- utest/shared — 1 commit
Notable commits
- fix: Fix imports
- fix: Fix unused imports
- fix: Merge pull request #475 from fabianhjr-dealengine/fix-filename
- change: Added mention of munit-cats-effect
- change: Apparently nowarn isn't working anymore
- change: Bump base version
- change: Bump base version
- change: Masked native mima stuff
- change: Merge branch 'series/1.x' into update/series/1.x/auxlib-0.5.11
- change: Merge branch 'series/1.x' into update/series/1.x/scala-library-2.13.11
- change: Merge pull request #459 from typelevel/update/series/1.x/sbt-typelevel-0.4.22
- change: Merge pull request #460 from typelevel/update/series/1.x/nscplugin-0.4.14
- change: Merge pull request #463 from typelevel/update/series/1.x/scala-library-2.12.18
- change: Merge pull request #464 from typelevel/update/series/1.x/scala-library-2.13.11
- change: Merge pull request #466 from typelevel/update/series/1.x/sbt-scalajs-1.13.2
- change: Merge pull request #468 from typelevel/update/series/1.x/cats-effect-3.5.1
- change: Merge pull request #470 from typelevel/update/series/1.x/sbt-1.9.1
- change: Merge pull request #473 from typelevel/update/series/1.x/scalafmt-core-3.7.5
- change: Merge pull request #474 from typelevel/update/series/1.x/scalafmt-core-3.7.6
- change: Merge pull request #476 from typelevel/update/series/1.x/scalafmt-core-3.7.7
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
typelevel/cats-effect-testing was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 479ee5f438d55caa7886722e95ce720de431f132 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.