簡體   English   中英

是什么導致 Groovy/Grails 單元測試中的“指令選擇階段異常”?

[英]What is causing "exception in phase 'instruction selection' " in Groovy / Grails unit test?

有時,在對 Grails 單元測試進行一些更新時,我會遇到以下幾行錯誤:

BUG! exception in phase 'instruction selection' in source unit ... unexpected NullpointerException

這是什么原因造成的? 或者調試這個問題的最佳策略是什么?

到目前為止,我最好的方法是迭代地注釋掉代碼,直到代碼編譯完成。 grails clean不能解決問題。

使用這個過程我發現問題是我的@TestFor(Class)注釋。 我已經將一些代碼從一個服務移到了 src/groovy 中的一個類。 這似乎導致注釋中斷。 我真的不明白為什么這會中斷,但這足以讓我工作。

因此,如果您的測試類不是服務或控制器或類似的類,請嘗試刪除@TestFor()注釋。

如果這不起作用,請將所有內容注釋掉並一次添加一件。

就我而言,我的服務類沒有默認構造函數。 我通過提供默認構造函數解決了這個問題,@TestFor 想要注入服務 bean,因為我的服務 bean 沒有無法注入的默認構造函數 spring 容器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM