在ScalaTest中访问父范围变量

时间:2015-04-28 09:39:57

标签: scala scalatest

我有一个简单的单元测试,比如

"foo" in {

  val probe = TestProbe()  

  val actor = TestActorRef(Props(new MyActor("blabla")) {
    override def createActor: ActorRef = probe.ref
  }))

}

但是,类MyActor包含一个名为probe的字段,因此我的覆盖引用此字段而不是本地测试变量。代码无法编译(因为probe字段没有ref成员)。 我当然可以简单地重命名变量,但是我想如何正确地执行它 - 我的意思是如何从我的本地上下文中引用变量,如何解决这个'名称冲突'?

1 个答案:

答案 0 :(得分:1)

此处有一个类似的问题:Scala: How to access a shadowed function variable from an object虽然我不认为它是重复的。

但同样的答案适用:

不,这是不可能的。没有重命名它就无法引用外部变量,因为外部块没有标识。