关于shiro单元测试遇到的问题

本文章是关于shiro开发遇到的一些小问题,和一些坑,希望其他人看到可以减少掉坑的世间。
单元测试是基于自定义Realm完成后测试shiro的认证与授权的。

我遇到的第一个问题就是单元测试的时候Realm文件的类变量无法自动装配,控制台报错该变量为空,错误如下
关于shiro单元测试遇到的问题
而出错的代码是这样的
关于shiro单元测试遇到的问题
经过调试我发现feignClientProxy为空(这里利用feign远程获取主主体的角色与权限,再此不过多赘述),一开始以为是该类没有在扫描范围内,于是加上顶部的@Component注解,但后来发现还是没有效果,那么应该就是我代码本身出现了错误,于是仔细从头查阅了一遍代码发现是在测试类声明类变量Realm的时候犯了低级错误
关于shiro单元测试遇到的问题
因为是看教程这么写的,自己没有多加思考于是犯错,没有使用注解,修改的方式就是添加注释的那两行。

第二个错误就是关于给realm的simpleAuthorization添加角色和权限时遇到的问题。我的代码如下
关于shiro单元测试遇到的问题
由于simpleAuthorization.setRoles方法需要的参数时set集合,而我从feign获取的数据是object类型,根据ide提示自动修改为强制转换为set集合,但是这样会报错,提示告诉我们从feign获得的数据类型是ArrayList,所以要采用list转set方法
关于shiro单元测试遇到的问题
解决的方法如前一个图的注释部分。