我在我的应用程序中使用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中设置了属性..
我有什么遗漏,为什么没有读取配置属性?
任何建议都将受到赞赏..
答案 0 :(得分:1)
测试在测试环境中运行,因此请将该设置放在该块中。
答案 1 :(得分:1)
可能是您的环境命名问题。运行测试时,您应该看到有关所选环境“环境设置为 _ _”的日志。在您的情况下,它应该是“环境设置为testAutomation”。要告诉grails在此环境中运行测试,请尝试使用以下命令运行测试:
grails -Dgrails.env=testAutomation test-app