根据下面的示例,尝试使用表驱动的属性检查来测试无效的参数组合,该示例在使用here 3.0.1测试无效的参数组合(页面底部,用should替换的must页面底部)下找到,我的班级扩展WordSpec with TableDrivenPropertyChecks with MustMatchers

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


但是,IntelliJ IDEA cannot resolve symbol evaluatingcannot resolve symbol produce。现在检查ScalaTest中的MustMachers文档,我同时找到了evaluatingproduce,但没有找到1.83.0.0的文档。 3.0.1页对此没有任何说明。它们去了哪里,如何在ScalaTest 3中使用它们?

最佳答案

在ScalaTest 3中已删除evaluating关键字,您需要使用an [Exception] should be thrownBy { ... }代替evaluating,例如:

an [IllegalArgumentException] should be thrownBy {
  new Fraction(n, d)
}

10-06 09:51