Grails 2.0.4 では、静的な SpringSecurityUtils.reauthenticate を呼び出すコントローラー ユニット テストを作成しようとしています。テストは、その呼び出しで NullPointerException を返します。デバッガーでは、SpringSecurityUtils の Groovy 動的プロパティ (declaredMethods など) がどれも設定されていないことがわかります。
テストを実行すると、単体テストの失敗後に「Configuring Spring Security Core」ログ メッセージが出力されることに注意してください。サンプルテストは次のとおりです。
class ReproTest {
void testSpringSecurityUtils() {
String.valueOf(true) // OK: a public final class from the JDK
URLUtils.isRelativeURL("foo") // OK: a class from another plugin
SpringSecurityUtils.reauthenticate "user", "pw" // fails, NPE
}
}
私の最初の反応は、単体テスト中にプラグインにアクセスできない可能性があるということですが、そうであれば、URLUtils 呼び出しが機能しているのはなぜですか? また、テストが完了した後でプラグインを初期化するのに「十分」になるのはなぜですか?