タイトル通り、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 件のコメント:
コメントを投稿