Stryker4s
µTest
Our great sponsors
Stryker4s | µTest | |
---|---|---|
1 | 2 | |
193 | 480 | |
1.0% | -0.2% | |
9.2 | 4.2 | |
1 day ago | 8 days ago | |
Scala | Scala | |
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.
Stryker4s
µTest
-
From First Principles: Why Scala?
Let's clarify some points for folks not so familiar with Scala.
> * Scala minor version are binary incompatible, so maintaining Scala projects is a big pain. Upgrading Spark from Scala 2.11 to Scala 2.12 was a massive undertaking for example.
Scala just chose a strange naming scheme. Other languages would have just increased their major version instead. The scala minor version is increased every few years and not every month or so.
> * Scala has tons of language features and lets people do crazy things in the code.
Actually, that's not true. Or rather: compared to what language?
Scala has surprisingly few language features, but the ones it has are very flexible and powerful. Take Kotlin for example. It has method extensions as a dedicated feature. Scala just has implicits which can be used for method extension.
> * Scalatest is stil used by most projects and is annoying to use, as described here: https://github.com/lihaoyi/utest#why-utest. The overuse of DSLs in Scala is really annoying.
I agree with the overuse of DSLs. Luckily that got much better, but older libraries like scalatest still suffer from that.
> * Li's libs (os-lib, upickle, utest) have clean public interfaces, but most Scala ecosystem libs are hard to use, see the JSON alternatives for examples
I think that just comes from using the library in a non-idiomatic way. In most applications, you will need to use the whole json anyways, and then you use (or can use) circe like that:
{
What are some alternatives?
Specs2 - Software Specifications for Scala
ScalaMock - Native Scala mocking framework
scalaprops - property based testing library for Scala
Diffy
Mockito Scala - Mockito for Scala language
Nyaya - Random Data Generation and/or Property Testing in Scala & Scala.JS.
Scala Test-State - Scala Test-State.
ScalaCheck - Property-based testing for Scala
Gatling - Modern Load Testing as Code
Scalive - Connect a Scala REPL to running JVM processes without any prior setup