我有一个特点:
MyTrait {
...
...
case class MyCaseClass(...)
}
object MyTrait {
case class SomeOtherCaseClass(...)
}
对于我的一些测试,我需要公开MyCaseClass(...)。如何在我的测试中导入它?
答案 0 :(得分:2)
这可能不符合您的要求。每个实例都有自己的MyCaseClass类型。换句话说:
val a = new MyTrait {}
val b = new MyTrait {}
a.MyCaseClass.getClass != b.MyCaseClass.getClass
执行此操作的一般方法是将其置于顶级:
case class MyCaseClass( ... )
trait MyTrait { ... }
或者如果你想要更严格的范围,请将它放在伴侣对象
中object MyTrait {
case class MyCaseClass(...)
}
trait MyTrait { ... }
答案 1 :(得分:0)
我最终做了我不想要的事情。我的测试类扩展了包含相关案例类的特征!
答案 2 :(得分:0)
trait Mytrait{
case class MyCaseClass(t:String)
}
object Mytrait extends Mytrait
然后你可以
import Mytrait._
并致电MyCaseClass("t")