3
我想写一些代码来测试数据库模型。测试框架和数据库框架都使用“===”运算符,并且测试框架被优先考虑。我如何明确使用一种方法或另一种方法?斯卡拉冲突的继承方法名称
例子:
import org.scalatest.FunSuite
class TestDBModels extends FunSuite{
test("Test DoublePropertyEntry with a few new values") {
Schemas.doubleProperties.deleteWhere(p => (p.id === p.id)))
}
}
错误:
type mismatch;
found : Option[String]
required: org.squeryl.dsl.ast.LogicalBoolean
Schemas.doubleProperties.deleteWhere(p => (p.===(p.id, p.id)))
这里重要的一点是隐式def的覆盖,对某些不隐含的内容。这将关闭自动使用scalatest的'==='方法。然后,**如果你想使用断言和scalatest的'===',你可以明确地调用convertToEqualizer,或者简单地使用'new Equalizer'。就个人而言,我会使用'ShouldMatchers'来代替,因为我更喜欢'a应该等于(b)'到更强制性的声明'assert(a === b)',或者在这种情况下,'assert(toEq(a)== = b)'。 –
@LuigiPlinge编辑澄清一点。 –