我有一个特点如下:
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 有如下方法时,事情也有点奇怪:
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}
有人可以告诉我我在这里可能做错了什么吗?