ScalaCheck
sbt-revolver
Our great sponsors
ScalaCheck | sbt-revolver | |
---|---|---|
3 | 2 | |
1,931 | 840 | |
0.2% | -0.2% | |
8.3 | 3.1 | |
about 20 hours ago | about 1 year ago | |
Scala | Scala | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ScalaCheck
-
How to Survive Your Project's First 100k Lines
Regarding numbers 2 and 3, I believe you are describing "property-based testing"[0]. A Scala version of this is ScalaCheck and can be found here[1].
There appears to be at least one Rust library which claims to provide same, but I am not a Rust developer so cannot recommend any for fitness of purpose.
0 - https://hypothesis.works/articles/what-is-property-based-tes...
1 - https://github.com/typelevel/scalacheck/blob/main/doc/UserGu...
-
Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala
And the readmes and tutorials written for the major libraries are some of the best, and most concise out there. Seriously, even the old stuff, like scalacheck's guide is really good. Compare that to hypothesis. The hypothesis uses readthedocs, but other than the window dressing, much better. Try to find similar concise guides for major Java projects outside of spring boot. They're all external to the projects, published on Baeldung.
-
I’m really struggling with testing using Scalatest.
Write your test as properties that must be held, and let the framework generate random values and apply the function to thus values and compare the output by those properties. Take a look to ScalaCheck for that approach.
sbt-revolver
-
Tooling question
Another thing to look into is sbt-revolver, this will shorten the turnaround time on whatever machine is running sbt. I remember it being pretty helpful when I was working with scala.js. Good luck!
-
Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala
SBT. It's not because of the pseudo-scala config language, that looks especially alien next to braceless Scala 3 code. Or the weird symbolic operators. The big problem is correctness; in almost every project I've had to use spray-resolver because I've encountered weird bugs because SBT reuses the same dirty JVM. I really thing Drip would help here. I'll keep using SBT because it has the best Scala ecosystem support and great plugins like sbt-crossproject. It would also be great to be able to write build.sbt files in modern, regular Scala.
What are some alternatives?
ScalaTest - A testing tool for Scala and Java developers
coursier - Pure Scala Artifact Fetching
Gatling - Modern Load Testing as Code
sbt-play-scalajs - SBT plugin to use Scala.js along with any sbt-web server.
scalaprops - property based testing library for Scala
sbt-dependency-graph - sbt plugin to create a dependency graph for your project
Nyaya - Random Data Generation and/or Property Testing in Scala & Scala.JS.
sbt-docker - Create Docker images directly from sbt
ScalaMock - Native Scala mocking framework
xsbt-web-plugin - Servlet support for sbt
Specs2 - Software Specifications for Scala
scala-clippy - Good advice for Scala compiler errors