(< 800b) Generate fake / mock structured variable in a modern, human-readable way. Just like a person.
用一个现代的、可读的方式来生成用于测试的假数据。
⚡️ Simple but highly perfection API
🐣 Tiny footprint (< 800b)
👓 Customize
🎃 3 types of bundles exposed: ESM, CJS and UMD
🔥 TypeScript Typings readily available
🎸 Browser and NodeJs supported
🎯 End-to-end testing with GitHub Action
$ npm i --save miz
import { M } from 'miz'; // ES6
const m = M.arrayOf(M.shape({
id: M.number(10000, 1000000), // id is between 10000 ~ 1000000.
name: M.string(6), // 6 length random string.
sex: M.bool(), // random true or false.
city: M.constant('hz'), // constant value.
work: M.oneOf(['QA', 'FED']) // random from array
}), 2); // list length is 2.
m.mock();
Then will get the mock variable like below:
[{
id: 757852,
name: 'mU7RTB',
sex: false,
city: 'hz',
work: 'FED'
}, {
id: 359987,
name: 'jWuKxX',
sex: true,
city: 'hz',
work: 'FED'
}]
You can assemble the variable structure arbitrarily by using the mockers below:
- M.bool()
M.bool().mock(); // true
- M.number(min[, max = min, fixed = 0])
M.number(1, 9, 2).mock(); // 4.71
- M.string([len = 8])
M.string(6).mock(); // `Qv_teE`
- M.constant(value)
M.constant('hello, hustcc.').mock(); // `hello, hustcc`
M.constant(null).mock(); // got null
- M.oneOf(valueArray)
M.oneOf(['hustcc', 'imcxl']).mock(); // hustcc
- M.arrayOf(mocker[, min = 20, max = min])
// got an array which contains string, and array length 10 ~ 20.
M.arrayOf(VT.string(4), 10, 20).mock();
- M.shape(mockerObject)
// random value object.
M.shape({
name: M.string(10),
id: M.number(10000, 1000000),
sex: M.bool(),
city: 'hz',
}).mock();
- M.apply(Function)
// will got number generate by fucntion Math.random()
M.apply(() => Math.random()).mock();
More
Mocker
needed, welcome tosend a pull request
, or put an issue to me.
ISC@hustcc.