我有一個特點如下:類型不匹配發現
trait SomeBaseTrait{
def someFun[B](args:SomeArgs)(f: => B):B
}
在我的測試類,我想如下嘲笑這個類:
class MyMockOfBase extends SomeBaseTrait{
def someFun[Boolean](args:SomeArgs)(f: => Boolean):Boolean = true
}
這裏的問題是,編譯這個類拋出以下內容:
[error] found : scala.Boolean(true)
[error] required: Boolean
[error] def someFun[Boolean](args:SomeArgs)(f: => Boolean):Boolean = true
[error] ^
[error] one error found
編輯。
而且,事情也有點怪異,當我的特質有一個方法如下:
trait SomeBaseTrait2{
def someFun2[B](args:SomeArgs):B
}
我延伸它,如下所示:
val mockBase = new SomeBaseTrait2{def someFun2(args:SomeArgs):Boolean = true}
現在,這裏我得到以下幾點:
new SomeBaseTrait2{def someFun2(args:String):Boolean = true}
<console>:9: error: object creation impossible, since method someFun2 in trait SomeBaseTrait2 of type [B](args: String)B is not defined
new SomeBaseTrait2{def someFun2(args:String):Boolean = true}
有人可以告訴我我可能會在這裏做錯嗎?
可能重複[Scala的類型參數錯誤,而不是一個類型參數的成員(http://stackoverflow.com/questions/16489716/scala -type-parameter-error-not-a-member-of-type-parameter) – senia