java测试造数据神器JavaFaker
# 官网
https://paraseba.github.io/faker/
# Maven依赖
<dependency>
<groupId>com.github.javafaker</groupId>
<artifactId>javafaker</artifactId>
<version>0.17.2</version>
</dependency>
1
2
3
4
5
2
3
4
5
# 使用
import com.github.javafaker.*;
import java.util.List;
import java.util.Locale;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class TestData {
/**
* faker 指定汉语,默认英语
*/
private static Faker FAKER = new Faker(Locale.CHINA);
public static void main(String[] args) {
// 姓名 示例:阎胤祥
System.out.println("姓名:" + FAKER.name().fullName());
// 密码 最小长度 最长长度 是否大写 是否包含特殊字符
System.out.println("密码:" + FAKER.internet().password(10, 11, true, true));
// 电话号码 示例:15836184083
System.out.println("电话号码:" + FAKER.phoneNumber().cellPhone());
// 地址 示例:朱巷11189号
System.out.println("地址:" + FAKER.address().streetAddress());
// 文件 示例:magni_tempora\eaque.odp
System.out.println("文件路径:" + FAKER.file().fileName());
// 随机数 参数:几位数 最小值 最大值
System.out.println("随机数:" + FAKER.number().randomDouble(2, 1, 100));
}
/**
* 随机生成一定数量学生
*
* @param number 数量
* @return 学生
*/
public static List<Student> listStudentList(int number) {
return Stream.generate(() -> new Student(FAKER.name().fullName(), FAKER.number().randomDouble(2, 1, number))).limit(number).collect(Collectors.toList());
}
}
class Student {
/**
* 姓名
*/
private String name;
/**
* 分数
*/
private double score;
public Student(String name, double score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", score=" + score +
'}';
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# 其他相关测试数据集
// app
final App app;
// 艺术家
final Artist artist;
// 网络图片地址 示例:https://s3.amazonaws.com/uifaces/faces/twitter/vj_demien/128.jpg
final Avatar avatar;
// 音乐
final Music music;
// 互联网
final Internet internet;
// 书
final Book book;
// 颜色
final Color color;
// 货币
final Currency currency;
// 加密
final Crypto crypto;
// 食物
final Food food;
// booble类型
final Bool bool;
// 工作
final Job job;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
上次更新: 2023/08/30, 14:25:09