Skip to content

v0.6.0 / v0.7.0 : cats-effect 3 and other goodies

Compare
Choose a tag to compare
@Baccata Baccata released this 06 Apr 20:18
· 234 commits to master since this release

v0.6.0 / v0.7.0

This is a twin-release : 0.6.x series retains CE2 compatibility, whilst 0.7.x indicates CE3 compatibility. See installation page of the docs for a view of the compatibility matrix.

What happened since 0.5.x ?

Massive under the hood changes

  • The whole test framework is now effect specific (as opposed to be orchestrated in cats-effect's IO)
  • On JVM, all test suites are now weaved in a single IO before being run unsafely (as opposed to one suite == one "unsafeRun" call previously). Cross-suite parallelism is still dependant on whatever settings are defined in the build (sequential by default on forked JVMs, parallel by default otherwise).
  • weaver is now compatible with Scala 3 (specifically 3.0.0-RC2 at the time of writing this)

Intellij integration

  • The Intellij integration now works without any bespoke plugin installation, by means of a JUnit runner. Unfortunately, the UX is not as rich as what the bespoke plugin was offering, but this new approach drastically lowers the maintenance burden on ourselves

Quality of life changes

  • Adds expect.same for nicer-looking equality comparisons
  • Removes the need to ascribe types in Checkers (scalacheck)
  • Removes simpleTest as it overlaps with one of the test overloads
  • Removes Expectations => F[Expectations] implicit conversion as it was leading users to use expectations in for-comprehensions, when in fact that had no effect, thus breaking principle of least surprise
  • Adds a construct for resource memoisation, that users can use (optionally) to share constructs between suites a bit more efficiently
  • The zio integration now uses a fiber-ref logger, that can be injected into the shared resource (thanks to @lukecollier)
  • On JS, the results are now properly aggregated and displayed at the end of the run
  • A FunSuite trait now exists for people who want to write effect-less unit tests
  • Integration with typelevel's Discipline is now provided

Thanks a lot to everyone, contributors and users

This library is just a test framework that stands on the shoulder of giants, but we're massively thankful to our users who drop the occasional kind word !

Head over to the website for documentation 😄, and feel free to hit us up on gitter for questions and remarks !