我正在学习scala,但无法知道如何做到这一点:
我在scala对象和google appengine实体之间进行映射,所以如果我有这样的类:
class Student {
var id:Long
var name:String
}
Run Code Online (Sandbox Code Playgroud)
我需要创建该类的一个实例,在java中我会得到它的名字然后然后做,field.set(object, value)但我找不到如何在scala中这样做.
我不能使用java反射,因为Student的字段被视为私有,而field.set因此而抛出错误.
谢谢
我希望能够使用JUnit规则,例如我们已经在内部开发的TemporaryFolder其他规则TestRule.实现这一目标的最佳方法是什么?我知道JUnitSuite但它似乎没有拿起@Rule注释.无论如何,我想使用不同的ScalaTest套件.
所以我的问题是:
TestRule?TestRule在Scala测试中使用JUnit ?TemporaryFolder,或者,例如,Stefan Birkner的系统规则提供的方法?这是我尝试过的JUnitSuite:
class MyTest extends JUnitSuite {
//@Rule
//val temporaryFolder = new TemporaryFolder() // throws java.lang.Exception: The @Rule 'temporaryFolder' must be public.
@Rule
def temporaryFolder = new TemporaryFolder()
@Test
def test: Unit = {
assert(temporaryFolder.newFile() !== null) // java.lang.IllegalStateException: the temporary folder has not yet been created
}
}
Run Code Online (Sandbox Code Playgroud)