我目前正在為我構(gòu)建的域類進(jìn)行單元測試。但是由于某種原因,我無法訪問“hasMany”實現(xiàn)中的元素。當(dāng)我嘗試訪問屬性'module.exams'時,它會拋出一個異常groovy.lang.MissingPropertyException:No這樣的屬性:class:exams for class:ch.fhnw.webec.Module。我見過無數(shù)人們訪問該物業(yè)的例子。我嘗試過考試,getExams,addTo等,但沒有一個有效。void 'test module relation'() { Teacher teacher = new Teacher(prename: "Max", surname: "Mustermann") Module module = new Module(name: "Workshop 1", shortName: "WS2", credits: 3, year: 2019, isSpring: true, teacher: teacher) Exam exam1 = new Exam(module: module, name: "Pr??efung 01", isMsp: false, number: 1, weight: 1, date: Date.parse("yyyy-MM-dd", "2019-03-28")) Exam exam2 = new Exam(module: module, name: "Pr??efung 01", isMsp: false, number: 1, weight: 1, date: Date.parse("yyyy-MM-dd", "2019-03-28")) expect: module.exams.count() == 2 // <-- this line}package ch.fhnw.webecclass Module {// .... static hasMany = [exams: Exam]// ...}爪哇島intellij-idea圣杯
1 回答

交互式愛情
TA貢獻(xiàn)1712條經(jīng)驗 獲得超3個贊
通過嘗試一個錯誤和互聯(lián)網(wǎng)上的大量問題,我找到了一個解決方案。我沒有刪除問題,而是認(rèn)為我會解釋解決方案。也許這可以幫助其他試圖弄清楚這一點的人:
感謝JeffScottBrown指出這一點:默認(rèn)情況下,它會創(chuàng)建一個集合。這意味著addToXXX確實有效。但在我的情況下,我需要一個列表,這就是我必須添加的內(nèi)容:
class Module {
static hasMany = [exams: Exam]
List exams
// ...
}
但添加這些是不夠的。創(chuàng)建對象時,您必須通過生成的“addToXY”方法將它們添加到此列表中:
module.addToExams(exam1)
module.addToExams(exam2)
assert module.exams.size() == 2
添加回答
舉報
0/150
提交
取消