Scala 中的 shouldBe 和 shouldEqual 有什么区别?

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

什么时候应该使用 shouldBe,什么时候应该使用 shouldEqual?

port shouldEqual 8000
port shouldBe 8000

来自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

第一个采用隐式 Equality[T] 来验证计算值与预期值,第二个不采用。所以如果你只是想比较端口号shouldBe就够了。