带有泛型的Scala存根类



我正在尝试存根一个case类,该类的结构与下面的代码类似。

case class Employee[T](name:T) {
def greet(str:String):String = {
"Hi, "+ str + ":" + name
}
def farewell(str:String):String = {
"Bye, "+ str + ":" + name
}
}

但是,当创建这样的存根时:CCD_ 1,给出以下错误:

type mismatch;
found   : T
required: String
val emp = stub[Employee[String]]

我怎么能上这节课。

通常会避免Stubbing case类,但假设您使用的是ScalaMock,请尝试首先使用一些默认值进行扩展,例如

class StrEmployee extends Employee[String](null)
val emp = stub[StrEmployee]
(emp.greet _).when("aa").returns("bb")
assert(emp.greet("aa") == "bb")

最新更新