タイトル通り、Grailsを1.3.3に上げたら、ユニットテストがNullPointerExceptionで壊滅しました
原因はGRAILS-6482で1.3.4で直るらしいですが、とりあえず回避方法としては次のコードをユニットテストにいれるといいらしいです。
protected void setUp() { super.setUp() PluginManagerHolder.pluginManager = [hasGrailsPlugin: { String name -> true }] as GrailsPluginManager } protected void tearDown() { super.tearDown() PluginManagerHolder.pluginManager = null }
ユニットテストが多くなってくるとめんどいので、_Events.groovyに次のコードを入れました。
import org.codehaus.groovy.grails.plugins.GrailsPluginManager import org.codehaus.groovy.grails.plugins.PluginManagerHolder eventTestPhaseStart = { phase -> if (phase == 'unit') { PluginManagerHolder.pluginManager = [hasGrailsPlugin: { String name -> true }] as GrailsPluginManager } } eventTestPhaseEnd = { phase -> if (phase == 'unit') { PluginManagerHolder.pluginManager = null } }
これでいいかどうかは不明ですがとりあえずNullポは消えたので。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。