Проект mockj — это инструмент для генерации фиктивных данных, Java-реализация mockjs. Он также имеет встроенную функцию случайного создания объекта.
<dependency>
<groupId>com.github.kevin-wang001</groupId>
<artifactId>mockj</artifactId>
<version>1.0</version>
</dependency>
Шаблон данных состоит из трёх частей: имя свойства, правило генерации и значение свойства:
Имя свойства | Правило генерации: Значение свойства
name | rule: value
// Имя свойства — name // Правило генерации — rule // Значение свойства — value
Обратите внимание:
Существует 7 форматов правила генерации:
'name|min-max': value
'name|count': value
'name|min-max.dmin-dmax': value
'name|min-max.dcount': value
'name|count.dmin-dmax': value
'name|count.dcount': value
'name|+step': value
Значение свойства может содержать символ @ в качестве заполнителя. Также оно определяет начальное значение и тип конечного значения.
Строка string повторяется для создания новой строки, количество повторений находится в диапазоне от min до max.
Строка string повторяется для создания новой строки, количество повторений равно count.
К значению number добавляется 1.
Создаётся целое число, которое больше или равно min и меньше или равно max. Значение number используется только для определения типа.
Создаётся число с плавающей точкой, целая часть которого больше или равна min и меньше или равна max, а дробная часть содержит dmin до dmax знаков после запятой.
Пример: Mock.mock("{ "number1|1-100.1-10": 1, "number2|123.1-10": 1, "number3|123.3": 1, "number4|123.10": 1.123 }") // => { "number1": 12.92, "number2": 123.51, "number3": 123.777, "number4": 123.1231091814 }
Случайным образом генерируется логическое значение, вероятность true равна 1/2, вероятность false также равна 1/2.
Из значения object случайным образом выбирается count свойств.
Из значения object случайным образом выбираются min–max свойств.
Из массива array случайным образом выбирается один элемент, который становится конечным значением.
Из массива array последовательно выбирается один элемент, который становится конечным значением.
Массив array повторяется для создания нового массива, количество повторов находится в диапазоне от min до max.
Массив array повторяется для создания нового массива, количество повторов равно count. ``` { "age": 6120, "boy": false, "courses": ["数学", "语文"], "courses2": ["数学", "语文"], "endDate": 1537525215493, "flag": "h", "foo": { "age": 8, "boy": false, "flag": "", "name": "wangwu", "next": 0 }, "foo1": { "age": 8, "boy": false, "flag": "", "name": "wangwu", "next": 0 }, "map": { "110000": "北京市", "120000": "天津市", "130000": "河北省", "140000": "山西省" }, "name": "rdmo", "next": 7825, "point": 11937, "startDate": 1537525215494 }
// 提供反射接口,随机产生一个对象
Такая схема поддерживает более разнообразные типы данных. Например:
Foo.class // String 类型 private String name; // char 类型 private char flag; // числовой тип private int age; private int next; private Double point; // boolean 类型 private boolean boy; // date 类型 private Date startDate; private Date endDate; // collection 类型 private List courses; private Set courses2; // map 类型 private Map<String, String> map; // Object 类型 private Foo foo; private Foo foo1;
Через API: Foo foo = MockR.random(new TypeReference() {}); можно получить следующие данные:
{ "age": -61382, "boy": true, "courses": [ "hSer" ], "courses2": [ "eatH" ], "endDate": 1537524456497, "flag": "£", "foo": { "age": 34475, "boy": false, "courses": [ "BTvW" ], "courses2": [ "mFWP" ], "endDate": 1537524456497, "flag": "c", "map": { "YUJl": "IVvP" }, "name": "JyAL", "next": -23634, "point": -96035, "startDate": 1537524456497 }, "foo1": { "age": -98010, "boy": false, "courses": [ "spTD" ], "courses2": [ "WcQX" ], "endDate": 1537524456498, "flag": "4", "map": { "ueYR": "ANbU" }, "name": "XhFe", "next": 75119, "point": 21497, "startDate": 1537524456498 }, "map": { "GzMk": "oJqQ" }, "name": "tNzx", "next": -54482, "point": -20110, "startDate": 1537524456497 }
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )