我正在学习 scala,并想用===
. 但是,我很好奇是否有办法做这样的事情:
assert(1 !=== 2)
我已经尝试了上述!==
,和!(===)
有没有办法获得描述性===
和使用否定?
我正在学习 scala,并想用===
. 但是,我很好奇是否有办法做这样的事情:
assert(1 !=== 2)
我已经尝试了上述!==
,和!(===)
有没有办法获得描述性===
和使用否定?
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 那样生成很好的差异。