scalatest - 在 scalatest 中将测试标记为损坏

标签 scalatest

有时测试是有效的,但被测试的代码是错误的,并且有针对测试场景的缺陷记录。修复缺陷后,测试将通过。

在那之前,我可以将测试标记为“忽略”,并在注释中添加缺陷编号。然后测试将不会运行,它会被标记为被忽略,并且指标将反射(reflect)它被忽略的事实。当缺陷被标记为已修复时,我可以找到测试用例并重新启用测试。

我或许可以使用它,但我有点想要另一种选择:将测试标记为缺陷。这会导致测试仍然运行,但语义相反,在这种情况下,失败是预期的,没有什么值得 panic 的,而通过是庆祝的理由,并被召唤出来。在这种情况下,还有两个汇总统计信息:预期的测试失败和意外的测试通过。

ScalaTest 中是否已经存在这样的东西?

最佳答案

阅读 ScalaTest 的 scaladoc,我找到了答案:pendingUntilFixed

一个示例(使用 FreeSpec,因为这是我的首选语法):

"some test that is known to be broken" in {
    pendingUntilFixed {
        info("Broken - see DEFECT-12345")
        // original test code
        ...
    }
}

这完全符合我最初的要求,包括在代码不再损坏后失败。为 ScalaTest 欢呼! :)

关于scalatest - 在 scalatest 中将测试标记为损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35877557/

相关文章:

scala - Gen.sequence 忽略给定 Traversable 的大小

performance - Scalatest 需要 30 秒才能开始测试

Scala SuperSafe Community Plugin 神器,sbt 0.13,scala 2.11.8 无法解析

scala - sbt:禁用某些子模块中的测试

scala - 使用原始类型模拟案例类

scala - 使用 PrivateMethodTester 测试柯里化(Currying)方法

scala - 使用 ScalaTest + ScalaCheck 检查意外异常

scala - 如何将配置实例注入(inject)到scalatest?

scala - Akka Actor : Remote actor exception "Futures timed out after"

scala - 如何使用 ScalaTest 正确测试 Try[T]?