/ / ScalaTest uplatni a porovnáva - Scala, Scalatest, Matcher

ScalaTest tvrdí a matchers - scala, scalatest, matcher

V projekte Scala Play som použil ScalaTest. Mám však otázku, kedy používať normálne assert(xxx === yyy) a kedy používať ScalaTest matchers ako xxx should be yyy.

Osobne preferujem použitie tvrdenia, pretože je jednoduché a čisté. Môžete tiež využiť ScalaTest TypedCheckTrippleEquals podporu, ale zápasníci "t.

Pre zápasníkov som zatiaľ zistil len jednu vec, ktorú môžu hráči robiť, ale nie tvrdiť, čo je Array(1, 2) should equal (Array(1, 2)) uspeje.

Nie ste si úplne istí, čo je odporúčané a existujú nejaké ďalšie veci, ktoré môžu zápasníci urobiť viac? V opačnom prípade radi použijeme tvrdenie.

odpovede:

3 pre odpoveď č. 1

Tu sú niektoré veci, ktoré milujem matchers:

1) Skontrolujte čísla v rozsahu

sevenDotOh should equal (6.9 +- 0.2)

2) Kontrola dĺžky

result should have length 3

3) Kontrola typu

result1 shouldBe a [Tiger]

4) Kontrola, či prvok (alebo viac) patrí do kolekcie

List(1, 2, 3, 4, 5) should contain oneOf (5, 7, 9)
List(1, 2, 3) should contain (2)

5) Rôzne chladné testy

List(1, 2, 3) shouldBe sorted

Ak ste to neprečítali dokumentácia, prosím.