1

我正在学习 scala,并想用===. 但是,我很好奇是否有办法做这样的事情:

assert(1 !=== 2)

我已经尝试了上述!==,和!(===)

有没有办法获得描述性===和使用否定?

4

1 回答 1

3

ScalaTest 没有!==方法(它实际上在源代码中并且被注释掉了)。您可以实现自己的模拟,例如:

// Somewhere in the codebase
class ExtendedEqualizer(left: Any) {
  def !==(right: Any) = {
    if (left != right) None
    else Some("%s equaled to %s".format(left, right))
  }
}

object TestUtil {
  implicit def convertToExtendedEqualizer(left: Any) = new ExtendedEqualizer(left)
}

// In your test class
import TestUtil.convertToExtendedEqualizer

然后它变得像使用一样简单===

assert(3 !== 2+2)

请注意,这是一个简化版本,===它不会进行深度数组比较,也不会像 ScalaTest 那样生成很好的差异。

于 2013-03-31T19:06:40.820 回答