Search code examples
scalascalatest

What's the difference between shouldBe vs shouldEqual in Scala?


When should I be using shouldBe and when should I be using shouldEqual?

port shouldEqual 8000
port shouldBe 8000

Solution

  • From http://www.scalatest.org/user_guide/using_matchers#checkingEqualityWithMatchers:

    result shouldEqual 3 // can customize equality, no parentheses required

    result shouldBe 3 // cannot customize equality, so fastest to compile, no parentheses required

    The first one takes an implicit Equality[T] to verify the computed value with the expected value, the second one doesn't. So if you just want to compare the port number shouldBe is sufficient.