开始编写 SysAuthServiceImpl 的单元测试
parent
e9f2e91f7e
commit
92997a0cd5
@ -0,0 +1,33 @@
|
||||
package cn.iocoder.dashboard.modules.system.service.auth;
|
||||
|
||||
import cn.iocoder.dashboard.BaseSpringBootUnitTest;
|
||||
import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO;
|
||||
import cn.iocoder.dashboard.modules.system.service.auth.impl.SysAuthServiceImpl;
|
||||
import cn.iocoder.dashboard.modules.system.service.user.SysUserService;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.iocoder.dashboard.util.RandomUtils.*;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class SysAuthServiceImplTest extends BaseSpringBootUnitTest {
|
||||
|
||||
@Resource
|
||||
private SysAuthServiceImpl authService;
|
||||
|
||||
@MockBean
|
||||
private SysUserService userService;
|
||||
|
||||
@Test
|
||||
public void testLoadUserByUsername_success() {
|
||||
// 准备参数
|
||||
String username = randomString();
|
||||
// mock 方法
|
||||
SysUserDO user = randomUserDO();
|
||||
when(userService.getUserByUserName(eq(username))).thenReturn(user);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
package cn.iocoder.dashboard.modules.system.service;
|
||||
@ -0,0 +1,66 @@
|
||||
package cn.iocoder.dashboard.util;
|
||||
|
||||
import cn.hutool.core.util.*;
|
||||
import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* 随机工具类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public class RandomUtils {
|
||||
|
||||
private static final int RANDOM_STRING_LENGTH = 10;
|
||||
|
||||
public static String randomString() {
|
||||
return RandomUtil.randomString(RANDOM_STRING_LENGTH);
|
||||
}
|
||||
|
||||
public static Long randomLong() {
|
||||
return RandomUtil.randomLong(0, Long.MAX_VALUE);
|
||||
}
|
||||
|
||||
public static Integer randomInteger() {
|
||||
return RandomUtil.randomInt(0, Integer.MAX_VALUE);
|
||||
}
|
||||
|
||||
public static Short randomShort() {
|
||||
return (short) RandomUtil.randomInt(0, Short.MAX_VALUE);
|
||||
}
|
||||
|
||||
public static SysUserDO randomUserDO() {
|
||||
SysUserDO user = randomObject(SysUserDO.class);
|
||||
return user;
|
||||
}
|
||||
|
||||
private static <T> T randomObject(Class<T> clazz) {
|
||||
// 创建对象
|
||||
T object = ReflectUtil.newInstance(clazz);
|
||||
// 遍历属性,设置随机值
|
||||
for (Field field : ReflectUtil.getFields(clazz)) {
|
||||
// 数字类型
|
||||
if (field.getType() == Long.class) {
|
||||
ReflectUtil.setFieldValue(object, field, randomLong());
|
||||
continue;
|
||||
}
|
||||
if (field.getType() == Integer.class) {
|
||||
ReflectUtil.setFieldValue(object, field, randomInteger());
|
||||
continue;
|
||||
}
|
||||
if (field.getType() == Short.class) {
|
||||
ReflectUtil.setFieldValue(object, field, randomShort());
|
||||
continue;
|
||||
}
|
||||
// 字符串类型
|
||||
if (field.getType() == String.class) {
|
||||
ReflectUtil.setFieldValue(object, field, randomString());
|
||||
continue;
|
||||
}
|
||||
// System.out.println();
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue