gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 21:31:43 25 4
gpt4 key购买 nike

我正在开发一个 grails 应用程序。在应用程序中, View 和 Controller 只是 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 测试中对用户进行身份验证,但没有找到任何有效的解决方案。

最佳答案

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

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

关于java - 包 grails.plugins.springsecurity 在 jUnit 测试中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18514554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com