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編輯澄清一點。 –