我想在测试中使用私有 trait 字段。这是一个非常简单的例子:
//Works fine with class A, but not trait A
trait A {
private val foo = "Some string"
}
class Test extends A {
val field = classOf[A].getDeclaredField("foo")
field.setAccessible(true)
val str = field.get(this).asInstanceOf[String]
}
我遇到了这个问题:
java.lang.NoSuchFieldException: foo at java.lang.Class.getDeclaredField
可以在这里查看实时示例。
如何使此代码片段可运行?