I wanted give Expecty a try, so I forked the repo to eed3si9n/expecty, added sbt build, patched up the code so it works with 2.10, 2.11, 2.12, and 2.13.0-M4, sent a few pull requests upstream, changed the package name, and published my fork to Maven Central:
libraryDependencies += "com.eed3si9n.expecty" %% "expecty" % "0.11.0" % Test
and for Scala.JS and Scala Native:
libraryDependencies += "com.eed3si9n.expecty" %%% "expecty" % "0.11.0" % Test
Here's how we can use this:
scala> import com.eed3si9n.expecty.Expecty.assert
import com.eed3si9n.expecty.Expecty.assert
scala> assert(a * b == 7)
java.lang.AssertionError:
assert(a * b == 7)
| | | |
1 3 3 false
at com.eed3si9n.expecty.Expecty$ExpectyListener.expressionRecorded(Expecty.scala:25)
at com.eed3si9n.expecty.RecorderRuntime.recordExpression(RecorderRuntime.scala:34)
... 38 elide
As you can see, you get a nicer error message automatically.