jUnit测试中不存在包grails.plugins.springsecurity

时间:2013-08-29 15:04:22

标签: java unit-testing testing grails junit

我正在处理grails应用程序。在应用程序视图和控制器中只有grails组件。而不是使用域和服务应用程序分别有DTO和BLs 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测试中还有其他更好的方法来重新验证用户吗?

我用Google搜索如何在junit test 中对用户进行身份验证,但没有找到任何解决方案。

1 个答案:

答案 0 :(得分:1)

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

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