5

scalatestでjUnitに似たものを使用したいと思いassertEqualsます。

フレームワークはそれを実装しますか、それとも単に提供するだけで、jUnit自体からassert使用する必要がありますか?assertEquals

4

3 に答える 3

7

次のような「アサート」アプローチがあります

class EqualsTest extends FunSuite {
  test("equals") {
    assert(1 === 1)
    assert(2 === 2, "The reason is obvious")
  }
}

トリプルイコールの使用に注意してください。これにより、テストが失敗したときにダブルイコールよりもはるかに優れたエラーメッセージが表示されます。また、2番目のケースは、テストが失敗した場合に出力されるヒントを提供します。ループを使用してテストする場合のループカウントなど、他の方法では明らかではないデータ値を含める場合は、これを使用するのが最適です。

次に、次のようなShouldMatchersアプローチがあります

class EqualsTest extends FunSuite with ShouldMatchers {
  test("equals") {
    1 should be (1)
  }
}

読みやすいので、これがしばしば好まれます。ただし、それを使用する方法を学ぶのは少し難しいです。APIにはいくつかの隅々があります。そして、あなたはヒントの説明を入れることはできません。

于 2012-10-15T06:52:54.670 に答える
0

ScalaTestの優れた点の1つは、その方法で物事を実行する必要がないことです。特定の状況や好みに最適なアプローチを選択できます。あなたがすでに受け取った他の答えのアプローチと同様に、(そして私の個人的な好み)もあります:

class EqualsTest extends FunSuite {
  test("equals") {
    expectResult(1) { 1 }
  }
}

(これexpectResultexpectScalaTest 1.xにあることに注意してください)。

于 2012-10-15T09:15:40.627 に答える
-1
assert(Actual.equals(Expected))
于 2020-02-06T19:06:44.620 に答える