KOCA版本 :4.6
KOCA模块 :定时任务
模块版本 :4.6
场景 :单元测试,开启数据权限校验
问题 :mapper查询报空指针
报错细节 :debug定位发现报错如下
获取当前用户为空,因为是单元测试,当前用户必然为空。有办法在不关闭数据权限配置的的情况下正常查询吗?
尝试解决方案:通过自己实现AuthService接口暂时解决。但是框架是否可以判断是单元测试还是正式接口调用?不报空指针?
KOCA版本 :4.6
KOCA模块 :定时任务
模块版本 :4.6
场景 :单元测试,开启数据权限校验
问题 :mapper查询报空指针
报错细节 :debug定位发现报错如下
KOCA版本 :3.x
KOCA模块 :定时任务
模块版本 :3.x
场景 :单元测试,开启数据权限校验
问题 :mapper查询报空指针
报错细节 :debug定位发现报错如下
你好,可以通过PowerMockito来mock一个TrustedPrincipal,当有调AuthContextHolder.getPrincipal时就不会报空指针
@Before
public void setUp() throws Exception {
PowerMockito.mockStatic(AuthContextHolder.class);
TrustedPrincipal principal = new TrustedPrincipal();
principal.setUserNo("TestUserNo");
PowerMockito.doReturn(principal).when(AuthContextHolder.class, "getPrincipal");
}
需要引jar包
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<scope>test</scope>
</dependency>
感谢,有用的