【问题标题】:Disable spring security for Grails functional tests?禁用 Grails 功能测试的弹簧安全性?
【发布时间】:2013-11-21 06:33:49
【问题描述】:

我在我的应用程序中使用 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 中添加打印语句

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

该值为“True”,但预期为“False”,因为我在 config.groovy 中设置了属性..

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

任何建议都将不胜感激..

【问题讨论】:

    标签: grails spring-security


    【解决方案1】:

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

    grails -Dgrails.env=testAutomation test-app

    【讨论】:

    【解决方案2】:

    测试是在测试环境中运行的,所以把设置放在那个块里。

    【讨论】:

    • 但是如果我把它放在 env 和 Dev 的顶部它正在工作 ..like ..environments { doNotCacheCompiledReportTemplates=false dev{}}
    • 你是如何运行测试的?
    猜你喜欢
    • 2012-01-07
    • 2012-08-21
    • 1970-01-01
    • 2019-02-03
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 2013-04-12
    相关资源
    最近更新 更多