scala - ScalaTest 3 中的评估和生产去了哪里?

标签 scala unit-testing exception testing scalatest

根据以下示例尝试使用表驱动属性检查来测试无效参数组合 hereTesting invalid argument combinations(页面底部,should 替换为 must)下使用 ScalaTest 3.0.1,我的类扩展 WordSpec with TableDrivenPropertyChecks with MustMatchers:

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

但是,IntelliJ IDEA 无法解析符号求值并且无法解析符号生成。现在检查 1.8 中的 MustMachers 文档我发现 evaluatingproduce,但在 3.0.0 中没有或 3.0.1 . Migrating to 3.0页面什么也没说。它们去了哪里?我如何在 ScalaTest 3 中使用它们?

最佳答案

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

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

关于scala - ScalaTest 3 中的评估和生产去了哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43463672/

相关文章:

scala - 1个优秀元素未产生结果元素就完成了内部流程

scala - scalatags 可以和 binding.scala 一起使用吗?

unit-testing - 在 golang 单元测试中模拟特定的错误类型

java - IntelliJ : get a warning if I call a method annotated with @VisibleForTesting

使用 Owin 针对 WebApi 的 C# 单元测试项目

c++ - VS2013下marshal.cxx中未处理的异常

scala - 对归并排序的实现感到困惑

Scala Constructor 模式与 Extractor 模式匹配

java - 在 Exception 上转储变量状态

java - 线程中的异常 "main"递归中的 java.lang.StackOverflowError