-
Notifications
You must be signed in to change notification settings - Fork 15
/
MockTest.java
133 lines (120 loc) · 5.04 KB
/
MockTest.java
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package com.kvn.mockj;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import org.junit.Test;
/**
* Created by wangzhiyuan on 2018/9/17
*/
public class MockTest {
/**
* 测试 randomTemplate
*/
@Test
public void mockByRandom() {
TemplateHelper helper = TemplateHelper.random(Foo.class);
helper.put("courses|2", new JSONArray(Lists.newArrayList("语文", "数学", "英语")));
helper.put("courses2|1-2", new JSONArray(Lists.newArrayList("语文", "数学", "英语")));
helper.put("map|2-4", JSONObject.parseObject("{\"110000\": \"北京市\",\"120000\": \"天津市\",\"130000\": \"河北省\",\"140000\": \"山西省\"}"));
// ==> CollectionRangeMockRule
helper.put("foo|1", JSONArray.parseArray("[{\"name\":\"zhangsan\",\"age\":12},{\"name\":\"lisi\",\"age\":10},{\"name\":\"wangwu\",\"age\":8}]"));
// ==> DefaultMockRule
helper.put("foo1", JSONArray.parseObject("{\"name\":\"wangwu\",\"age\":8}"));
System.out.println(helper);
for (int i = 0; i < 5; i++) {
// Foo mock = Mock.mock(helper.toTemplate(), Foo.class);
// System.out.println(JSON.toJSONString(mock));
System.out.println(Mock.mock(helper.toTemplate()));
}
}
@Test
public void testTemplatePut() {
TemplateHelper helper = TemplateHelper.random(Foo.class);
helper.put("name|1-3", "www");
// age的值为 [1,3,5]中的任意一个
helper.put("age|1", JSON.parseArray("[1, 3, 5]"));
System.out.println(helper.toTemplate());
System.out.println(Mock.mock(helper.toTemplate()));
}
@Test
public void complex(){
String template = "{\n" +
" \"array|1-10\": [\n" +
" {\n" +
" \"name|1-5\": [\n" +
"\t\t {\n" +
"\t\t\t\"array|+1\": [\n" +
"\t\t\t\t\"AAA\",\n" +
"\t\t\t\t\"BBB\",\n" +
"\t\t\t\t\"CCC\",\n" +
" \"DDD\",\n" +
" \"EEE\",\n" +
" \"FFF\",\n" +
" \"GGG\"\n" +
"\t\t\t ]\n" +
"\t\t }\n" +
"\t ]\n" +
" }\n" +
" ]\n" +
"}";
System.out.println(Mock.mock(template));
}
/**
* 复杂模板测试
*/
@Test
public void complex2(){
String template = "{\n" +
"\"success\": true,\n" +
"\"code\": 200,\n" +
"\"data\": {\n" +
"\"colors|1\": [\n" +
"[\"#000000\", \"#FF0000\", \"#FFFF00\"],\n" +
"[\"#00FFFF\", \"#FF0000\", \"#C0C0C0\"],\n" +
"[\"#000000\", \"#0000FF\", \"#C0C0C0\"]\n" +
"],\n" +
"\"xAxis|1\": [\n" +
"[\"一月\", \"二月\", \"三月\", \"四月\", \"五月\", \"六月\"],\n" +
"[\"二月\", \"三月\", \"四月\", \"五月\", \"六月\", \"七月\"],\n" +
"[\"三月\", \"四月\", \"五月\", \"六月\", \"七月\", \"八月\"]\n" +
"],\n" +
"\"legend\": [\"2017\", \"2018\", \"2019\"],\n" +
"\"data\": [{\n" +
"\"name\": \"2017\",\n" +
"\"data\": [\"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\"]\n" +
"},\n" +
"{\n" +
"\"name\": \"2018\",\n" +
"\"data\": [\"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\"]\n" +
"},\n" +
"{\n" +
"\"name\": \"2019\",\n" +
"\"data\": [\"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\", \"@integer(0, 100)\"]\n" +
"}\n" +
"]\n" +
"}\n" +
"}";
System.out.println(Mock.mock(template));
}
/**
* 生成电话号码
*/
@Test
public void generateTel(){
String tel = "{\"tel\":\"137@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)\"}";
System.out.println(Mock.mock(tel));
}
/**
* 使用单一规则来生成 mock 数据
*/
@Test
public void singleRuleUse(){
String tel = "137@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)";
System.out.println(Handler.gen(tel, null, null));
}
public static void main(String[] args) {
String tel = "137@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)@integer(0, 9)";
System.out.println(Handler.gen(tel, null, null));
}
}