禁用Grails功能测试的弹簧安全性?

时间:2013-11-20 21:53:23

标签: grails spring-security

我在我的应用程序中使用spring security,并且必须为功能测试用例禁用spring security。

所以我在配置文件中设置了springsecurity.active = false。

 environments {
    doNotCacheCompiledReportTemplates=false
    development {
        grails.plugins.springsecurity.active = false
        grails.logging.jul.usebridge = false
        doNotCacheCompiledReportTemplates=true
    }
    testAutomation {
        grails.plugins.springsecurity.active = false
        grails.logging.jul.usebridge = false
        doNotCacheCompiledReportTemplates = false
        grails.dbconsole.enabled = true
    }
    dev3 {
        grails.plugins.springsecurity.active = false
        grails.logging.jul.usebridge = true
    }
    rubyTest {
        grails.plugins.springsecurity.active = false
        grails.logging.jul.usebridge = true
    }
}

并在SpringSecurityCoreGrailsPlugin.groovy

中添加了print语句
println "The Config Activity is: ${conf?.active}"

值为'True'但期待'False',因为我在config.groovy中设置了属性..

我有什么遗漏,为什么没有读取配置属性?

任何建议都将受到赞赏..

2 个答案:

答案 0 :(得分:1)

测试在测试环境中运行,因此请将该设置放在该块中。

答案 1 :(得分:1)

可能是您的环境命名问题。运行测试时,您应该看到有关所选环境“环境设置为 _ _”的日志。在您的情况下,它应该是“环境设置为testAutomation”。要告诉grails在此环境中运行测试,请尝试使用以下命令运行测试:

grails -Dgrails.env=testAutomation test-app