【问题标题】:package grails.plugins.springsecurity does not exist in jUnit testjUnit测试中不存在包grails.plugins.springsecurity
【发布时间】:2013-08-29 15:04:22
【问题描述】:

我正在开发一个 grails 应用程序。在应用程序中,视图和控制器只是 grails 组件。而不是使用域和服务应用程序分别具有 DTO 和 BL java 文件。

我正在编写 junit 测试,其中我需要使用 spring 安全服务重新验证用户身份。但是当我运行测试时,它给了我以下错误:

[javac] ... error: package grails.plugins.springsecurity does not exist
[javac] import grails.plugins.springsecurity.SpringSecurityService;
[javac] ... error: package grails.plugins.springsecurity does not exist
[javac] private SpringSecurityService springSecurityService = ...

我不知道为什么即使在导入时也会出错。代码:

import grails.plugins.springsecurity.SpringSecurityService;
....
SpringSecurityService springSecurityService = ...
...

还有其他更好的方法可以在 junit 测试中重新验证用户身份吗?

我已经用谷歌搜索了如何在 junit 测试中验证用户,但没有找到任何可行的解决方案。

【问题讨论】:

    标签: java unit-testing testing grails junit


    【解决方案1】:

    我不确定为什么会出现这个特定问题,但您无法通过单元测试真正测试安全性。 Spring Security 实现为过滤器链,因此您需要创建请求并应用该链。

    这可以被适当地模拟,但这将是很多工作。最好的办法是使用功能测试,使用真实运行的服务器和真实请求。其他方法的误报风险太高了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-14
      • 2018-10-28
      • 1970-01-01
      • 2017-06-15
      • 2012-09-03
      • 2016-11-13
      • 1970-01-01
      相关资源
      最近更新 更多