µTest VS ScalikeJDBC

Compare µTest vs ScalikeJDBC and see what are their differences.

µTest

A simple testing framework for Scala (by lihaoyi)

ScalikeJDBC

A tidy SQL-based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs. (by scalikejdbc)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
µTest ScalikeJDBC
2 4
481 1,254
-0.2% 0.3%
4.2 8.9
9 days ago 1 day ago
Scala Scala
- Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

µTest

Posts with mentions or reviews of µTest. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-02-11.
  • From First Principles: Why Scala?
    11 projects | news.ycombinator.com | 11 Feb 2021
    I am a Scala programmer & think it's a great language. Here are some arguments for why not Scala:

    * Li's libs (os-lib, upickle, utest) have clean public interfaces, but most Scala ecosystem libs are hard to use

    * The Mill build tool looks a lot better than SBT, but seems like everyone is still using SBT

    * 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 has tons of language features and lets people do crazy things in the code. Hard to win technical arguments with Scala geniuses that like using complicated language features.

    * Scalatest is stil used by most projects and is annoying to use, as described here: https://github.com/lihaoyi/utest#why-utest

    I'm optimistic about Scala. There are some folks that love the language and are continuously improving the ecosystem. Scala 3 will have to sell a better story about ditching legacy tooling and giving users a better default stack if it wants to compete with modern Go/Rust/Python.

    11 projects | news.ycombinator.com | 11 Feb 2021
    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:

        {

ScalikeJDBC

Posts with mentions or reviews of ScalikeJDBC. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-02-24.
  • Query DSL in Scala 3
    2 projects | /r/scala | 24 Feb 2021
  • From First Principles: Why Scala?
    11 projects | news.ycombinator.com | 11 Feb 2021
    I have had poor experiences with "fancy" SQL libraries in multiple languages when I go past basic operations. This includes Slick and Quill in Scala.

    I don't remember what the problems were with Slick that leave such a bad feeling when I hear its name -- that was 5 years ago -- but I had problems with Quill just last year. I was trying to use it to generate an efficient "in" query against a two column composite primary key, and nothing seemed to work. Since it uses macro magic, one of my attempts triggered an internal compiler error instead of normal compiler feedback.

    I ended up dropping Quill for ScalikeJDBC:

    http://scalikejdbc.org/

    It seems to be less popular/active than other libraries, but it is dead simple to use, even for developers new to Scala. I write exactly the SQL I want just like I would in psql. There is little-to-no magic [1]. I think that the only slightly magical feature I use is ensure that variable interpolation into SQL ("SQLInterpolation") prevents injection attacks.

    [1] It actually has capabilities to automatically map tables/columns into different structures and generate code for you, but my team doesn't use any of that. We just write SQL.

What are some alternatives?

When comparing µTest and ScalikeJDBC you can also consider the following projects:

Slick - Slick (Scala Language Integrated Connection Kit) is a modern database query and access library for Scala

doobie - Functional JDBC layer for Scala.

Quill - Compile-time Language Integrated Queries for Scala

Anorm - The Anorm database library

Squeryl - A Scala DSL for talking with databases with minimum verbosity and maximum type safety

ScalaMock - Native Scala mocking framework

Diffy

scalaprops - property based testing library for Scala

Relate - Performant database access in Scala

AnormCypher - Neo4j Scala library based on Anorm in the Play Framework

Scala Test-State - Scala Test-State.

Gatling - Modern Load Testing as Code