2013-11-20 42 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

如何運行測試? –