0
我試圖在Java應用程序中嵌入POGO。我想用POGO用一些虛擬數據實例化POJO進行測試。我認爲這將是可能的POGO延長POJO,並像在這個例子中命名的參數調用POJO的構造函數:使用命名參數調用父構造函數
的Java類:
public class Pojo {
private String name;
...
}
Groovy類:
class Pogo extends Pojo {
Pogo() {
super(name: 'test name')
}
}
試圖通過從JUnit測試實例化的Pogo
@Test
public void shouldInitPojoWithTestData() {
Pojo p = new Pogo();
assertNotNull(p);
assertEquals("test name", p.getName());
}
失敗
groovy.lang.GroovyRuntimeException: Could not find matching constructor for: Pojo(java.util.LinkedHashMap)
然而,實例名爲參數POJO Groovy腳本中正常工作:
def p = new Pojo(name: 'test name')
assert p.name == 'test name' // OK
爲什麼我不能調用與命名參數的父類的構造?
Thx
感謝您的回答! – MartinKnopf