在 ScalaTest 中访问父作用域变量
Access parent scope variable in ScalaTest
我有一个简单的单元测试,比如
"foo" in {
val probe = TestProbe()
val actor = TestActorRef(Props(new MyActor("blabla")) {
override def createActor: ActorRef = probe.ref
}))
}
但是,class MyActor
包含一个名为 probe
的字段,因此我的覆盖引用了这个字段而不是我的本地测试变量。代码无法编译(因为 probe
字段没有 ref
成员)。
我当然可以简单地重命名变量,但是我想知道如何正确地做它 - 我的意思是如何从我的本地上下文中引用变量,如何解决这个 'name clash'?
这里有一个类似的问题: 虽然我不认为它是重复的。
但同样的答案适用:
不,这是不可能的。不重命名就无法引用外部变量,因为外部块没有标识。
我有一个简单的单元测试,比如
"foo" in {
val probe = TestProbe()
val actor = TestActorRef(Props(new MyActor("blabla")) {
override def createActor: ActorRef = probe.ref
}))
}
但是,class MyActor
包含一个名为 probe
的字段,因此我的覆盖引用了这个字段而不是我的本地测试变量。代码无法编译(因为 probe
字段没有 ref
成员)。
我当然可以简单地重命名变量,但是我想知道如何正确地做它 - 我的意思是如何从我的本地上下文中引用变量,如何解决这个 'name clash'?
这里有一个类似的问题:
但同样的答案适用:
不,这是不可能的。不重命名就无法引用外部变量,因为外部块没有标识。