Skip to content

v0.5.0: Intellij plugin / Monix / Expectations rework

Compare
Choose a tag to compare
@Baccata Baccata released this 07 Oct 20:48
· 339 commits to master since this release

Changeset : v0.4.3...v0.5.0

A huge thank you to @hwielenberg and @bfdes.

Features / improvements

  • weaver now comes with its own intellij plugin, courtesy of @hwielenberg
  • monix and monix-bio integration modules, courtesy of @bfdes
  • SingleExpectation has disappeared. It was used as an intermediate output of expect, waiting for implicit conversion (required to capture SourceLocation) targeting Expectations. Now, the source location is directly exposed from the expect macro, making the little Single => Expectations dance obsolete. This should smoothen up some corner cases.
  • Addition of an expect.all method that takes boolean varargs, reducing the boilerplate of long chains of &&
  • Expectations now carry a NonEmptyList[SourceLocation], making it possible to capture several locations and associate them to expectations, facilitating debugging of failures when indirections are involved.

Compatibility-breaking changes (that most users shouldn't notice)

  • test methods now require a TestName instead of a String. TestName is a wrapper containing a string a source location. It is used for IDE support. The end-user should not see much of a difference as a String => TestName implicit conversion method is provided.
  • EffectSuite does not extend Expectations.Helpers anymore. However, IOSuite and co still do (the inheritance relationship has been pushed down the hierarchy to facilitate customisation)
  • SingleExpectation has disappeared (it was only a workaround as the expect macro didn't expose location information)
  • expect  is no longer impacted by the presence of an implicit SourceLocation