Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where did evaluating and produce go in ScalaTest 3?

Trying to use table-driven property checks to test invalid argument combinations based on the below example found here under Testing invalid argument combinations (bottom of the page, should replaced with must) using ScalaTest 3.0.1, my class extending WordSpec with TableDrivenPropertyChecks with MustMatchers:

forAll (invalidCombos) { (n: Int, d: Int) =>
  evaluating {
    new Fraction(n, d)
  } must produce [IllegalArgumentException]
}

However, IntelliJ IDEA cannot resolve symbol evaluating and cannot resolve symbol produce. Now checking MustMachers documentation in 1.8 I found both evaluating and produce, but not in those of 3.0.0 or 3.0.1. The Migrating to 3.0 page says nothing about it. Where did they go and how can I use them in ScalaTest 3?

like image 640
bugfoot Avatar asked Nov 28 '25 06:11

bugfoot


1 Answers

evaluating keyword has removed in ScalaTest 3, you need to use an [Exception] should be thrownBy { ... } to instead evaluating, like:

an [IllegalArgumentException] should be thrownBy {
  new Fraction(n, d)
}
like image 158
chengpohi Avatar answered Nov 30 '25 22:11

chengpohi