2013-11-20 41 views
0

我在我的应用程序中使用了spring安全性,必须禁用功能测试用例的spring安全性。禁用Grails功能测试的弹簧安全性?

所以我在我的配置文件中设置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

println "The Config Activity is: ${conf?.active}" 

值是 '真',但预计 '假',因为我曾在设置Config.groovy的属性..

是有什么我想念,为什么配置属性不被读取?

任何建议各地将不胜感激..

回答

1

这可能是您的环境命名问题。运行测试时,您应该看到关于选定环境的日志“环境设置为_ _”。你的情况应该是“环境设置为testAutomation”。告诉Grails的运行在这个环境中测试尝试运行与测试:

grails -Dgrails.env=testAutomation test-app

+0

感谢Pawel它解决了这个问题,虽然我已经为Oauth加载了一些bean的问题,因为Spring安全bean现在不可用。 –

+0

不客气。本文可能会有帮助:http://www.lucasward.net/2011/03/disabling-spring-security-for-grails.html –

1

测试是在测试环境中运行,所以把设置在该块。

+0

我把它在所有的环境.. –

+0

但是,如果我把它放在env和开发的顶部是工作..like ..environment { doNotCacheCompiledReportTemplates = false dev {}} –

+0

如何运行测试? –