Mock.js

Mock.js

1. 属性值是字符串 String

		console.log(
			Mock.mock({
				'data1|1-4': '陈学辉',		//随机重复1-4次
				'data2|3': '好帅',	//固定重置3次
			})
		);

2. 属性值是数字 Number

console.log(
			Mock.mock({
				'number1|+1': 100,	//整数,自动加1并且初始值为100
				'number2|1-100': 12,	//整数,1-100之间的随机数,包括1和100(1=<数字<=100)	12用来确定是数据为数字类型
				'number3|1-100.5': 12,	//小数,整数部分为为1-100间随机数,包括1和100;小数部分为固定5位随机数
				'number4|1-100.1-10': 12,	//小数,整数部分为为1-100间随机数,包括1和100;小数部分为1-10个随机数(位数随机,数字也随机)
				'number5|123.1-10': 12,	//数字123后面随机添加1-10位小数
				'number6|123.10': 12,	//数字123后面固定添加10位小数,但小数的值是随机的
			})
		);

3.属性值是布尔型

console.log(
			Mock.mock({
				'b1|1': false,	//随机生成一个布尔值,true与false的概率各为一半
				'b2|1-5': true,	//随机生成一个布尔值,值为value的概率是min / (min + max),值为!value的概率是max / (min + max)
			})
		);

4.属性值是对象 Object

console.log(
			Mock.mock({
				'num1|1-3': { a: 10, b: 20, c: 30, d: 40 },	//随机选取对象里1-3个属性
				'num2|2': { a: 10, b: 20, c: 30, d: 40 },	//随机选取对象里2个属性
			})
		);

5.属性值是数组 Array

console.log(
			Mock.mock({
				'arr1|1': ['a', 'b', 'c', 'd', 'e'],	//随机选取数组里1个数据
				'arr2|1-3': ['a', 'b', 'c', 'd', 'e'],	//通过重复属性值生成一个新数组,min<=重复次数<=max
			})
		);

6. 属性值是函数 Function

console.log(
			Mock.mock({
				'result': function () { return 1 + 2 }	//把函数的返回值当作属性的结果
			})
		)

7. 属性值是正则表达式 RegExp

console.log(
			Mock.mock({
				'reg1': /[a-z][A-Z][0-9]/,
				'reg2': /\w\W\s\S\d\D/,
				'reg3': /\d{5,10}/
			})
		)

Mock.Random

var Random = Mock.Random;

1.Basics 基础类里的方法,共7个

//Random.boolean()		随机一个布尔值
		console.log(
			Random.boolean(),
			Random.boolean(1, 9, true),
			Random.boolean(1, 2, false),
		);

		//Random.natural()		随机一个自然数(大于等于 0 的整数)
		console.log(
			Random.natural(),
			Random.natural(100),
			Random.natural(0, 50),
		);

		//Random.integer()	随机一个整数(包含负数)
		console.log(
			Random.integer(),
			Random.integer(-100),
			Random.integer(-50, 50),
		);

		//Random.float()	随机一个小数
		console.log(
			Random.float(),
			Random.float(0),
			Random.float(-10, 10),
			Random.float(-10, 10, 3),
			Random.float(-10, 10, 2, 5),
		);

		//Random.character()	//随机一个字符
		console.log(
			Random.character(),
			Random.character('abc123'),
			Random.character('lower'),
			Random.character('symbol'),
		);

		//Random.string()	随机一个字符串
		console.log(
			Random.string(),
			Random.string(5),
			Random.string(7, 10),
			Random.string('symbol', 5),
			Random.string('abc123', 1, 3),
		);

		//Random.range()	随机一个整数数据的数组
		console.log(
			Random.range(7),
			Random.range(3, 7),
			Random.range(1, 10, 2),
		);

2.Date 日期类里的方法,共4个

//Random.date()		随机一个日期
		console.log(
			Random.date(),
			Random.date('yyyy-MM--dd : HH-m-ss'),
		);

		//Random.time()		随机一个时间
		console.log(
			Random.time(),
			Random.time('A HH:mm:ss:SS'),
		);

		//Random.datetime()	随机一个日期+时间
		console.log(
			Random.datetime(),
		);

		//Random.now()	返回当前的日期和时间字符串
		//week 定到这个周的第一天
		console.log(
			Random.now(),
			Random.now('minute'),
		);

3.Image 图片类里的方法,2个

//Random.image()	生成一个随机的图片地址
		console.log(
			Random.image(),
			Random.image('200x100'),
			Random.image('200x200', '#ffcc33', '#FFF', 'png', 'kaivon'),
		);

		//Random.dataImage()	//生成一段随机的 Base64 图片编码
		console.log(
			//Random.dataImage(),
			Random.dataImage('200x100'),
		)

4.Color 颜色类里的方法,共5个

//Random.color()	随机一个16进制的颜色
		console.log(
			Random.color(),
		);

		//Random.hex()
		console.log(
			Random.hex(),
		);

		//Random.rgb()
		console.log(
			Random.rgb(),	//随机生成一个rgb格式的颜色
		);

		//Random.rgba()
		console.log(
			Random.rgba(),	//随机生成一个rgba格式的颜色
		);

		//Random.hsl()
		console.log(
			Random.hsl(),	//随机生成一个hsl格式(色相、饱和度、亮度)的颜色
		);

5.Text 文本类里的方法,共8个

//Random.paragraph()	随机生成一段文本
		console.log(Random.paragraph());
		console.log(Random.paragraph(2));
		console.log(Random.paragraph(1, 3));

		//Random.cparagraph()	随机生成一段中文文本。
		console.log(Random.cparagraph());
		console.log(Random.cparagraph(2));
		console.log(Random.cparagraph(1, 3));

		//Random.sentence()	随机生成一个句子,句子首字母大写
		console.log(Random.sentence());
		console.log(Random.sentence(5));
		console.log(Random.sentence(1, 5));

		//Random.csentence()	随机生成一段中文文本
		console.log(Random.csentence());
		console.log(Random.csentence(5));
		console.log(Random.csentence(1, 5));

		//Random.word()		随机生成一个单词
		console.log(Random.word());
		console.log(Random.word(5));
		console.log(Random.word(1, 5));

		//Random.cword()	随机生成一个汉字
		console.log(Random.cword());
		console.log(Random.cword(5));
		console.log(Random.cword(1, 5));
		console.log(Random.cword('零一二三四五六七八九十', 3));
		console.log(Random.cword('零一二三四五六七八九十', 5, 7));

		//Random.title()	随机生成一个标题
		console.log(Random.title());
		console.log(Random.title(3));
		console.log(Random.title(1, 5));

		//Random.ctitle()	随机生成一句中文标题
		console.log(Random.ctitle());
		console.log(Random.ctitle(3));
		console.log(Random.ctitle(1, 5));

6.Name 名字类里的方法,共6个

//Random.first()	随机生成一个常见的英文名
		console.log(Random.first())

		//Random.last()		随机生成一个常见的英文姓
		console.log(Random.last());

		//Random.name()		随机生成一个常见的英文姓名
		console.log(Random.name(true));	//是否添加一个中间值

		//Random.cfirst()	//随机生成一个常见的中文名
		console.log(Random.cfirst());

		//Random.clast()	//随机生成一个常见的中文姓
		console.log(Random.clast());

		//Random.cname()	随机生成一个常见的中文姓名
		console.log(Random.cname());

7.Web Web类里的方法,共6个

//Random.url()	//随机生成一个 URL
		console.log(Random.url());
		console.log(Random.url('http'));	//指定协议
		console.log(Random.url('http', 'kaivon.cn'));	//指定域名

		//Random.protocol()		随机生成一个 URL 协议
		console.log(Random.protocol());

		//Random.domain()	随机生成一个域名
		console.log(Random.domain());

		//Random.tld()	随机生成一个顶级域名
		console.log(Random.tld());

		//Random.email()	随机生成一个邮件地址
		console.log(Random.email());
		console.log(Random.email('kaivon.cn'));	//指定@后的域名

		//Random.ip()	随机生成一个 IP 地址
		console.log(Random.ip());

8.Address 地址类里的方法,共5个

//Random.region()	随机生成一个(中国)大区
		console.log(Random.region());

		//Random.province()	随机生成一个(中国)省(或直辖市、自治区、特别行政区)
		console.log(Random.province());

		//Random.city()		随机生成一个(中国)市
		console.log(Random.city());
		console.log(Random.city(true));	//是否生成所属的省

		//Random.county()		随机生成一个(中国)县
		console.log(Random.county());
		console.log(Random.county(true));	//指示是否生成所属的省、市

		//Random.zip()		随机生成一个邮政编码
		console.log(Random.zip());

9.Helper 帮助类里的方法,共5个

//Random.capitalize()	//把字符串的第一个字母转换为大写
		console.log(Random.capitalize('kaivon'));

		//Random.upper()	//把字符串转换为大写
		console.log(Random.upper('kaivon'));

		//Random.lower()	//把字符串转换为小写
		console.log(Random.lower('KAI'));

		//Random.pick()		//从数组中随机选取一个元素
		console.log(Random.pick(['a', 'b', 'c', 'd', 'e']));

		//Random.shuffle()	//打乱数组中元素的顺序
		console.log(Random.shuffle(['a', 'b', 'c', 'd', 'e']));

10.Miscellaneous 其它类里的方法,共3个

//Random.guid()		随机生成一个 GUID
		console.log(Random.guid());

		//Random.id()		随机生成一个 18 位身份证
		console.log(Random.id());


		console.log(
			Mock.mock('@EMAIL'),
			Mock.mock('@CITY(true)'),
			Mock.mock('@cword("陈学辉好帅", 1, 3)'),
		);

扩展方法

Random.extend({
			constellation: function (date) {
				var constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座'];
				return this.pick(constellations)
			}
		});
		console.log(Random.constellation());
		console.log(Mock.mock('@constellation'))
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PDF.jsMock.js 都是 JavaScript 库,但它们服务于不同的功能。 PDF.js 是一个开源库,用于在浏览器中渲染 PDF 文档,它提供了一种方法来在网页上查看和交互 PDF 文件,无需依赖 Adobe Reader。PDF.js 主要关注于解析和显示 PDF 内容。 Mock.js 则是一个用于单元测试的模拟工具库,它允许开发者在不依赖实际网络请求或后端服务的情况下,模拟 API 接口的行为,以便于编写和测试代码。Mock.js 专注于模拟数据和 API 接口响应。 理论上,PDF.jsMock.js 之间不应该有直接冲突,因为它们的职责不同,一个处理 PDF,另一个处理测试环境中的数据模拟。除非在项目中,你尝试同时使用这两个库,并且它们的内部实现有冲突(例如,都试图修改全局变量),否则它们应该可以并行使用而不会有问题。 不过,如果你在使用过程中遇到问题,可能的情况包括: 1. 资源加载冲突:如果 PDF.jsMock.js 需要相同的网络资源,可能会互相干扰。 2. 名称空间冲突:如果两个库定义了同名的方法或属性,可能会导致代码行为混乱。 3. 扩展了同一功能:比如都尝试重写某个事件处理,可能导致意外的效果。 相关问题: 1. 在什么情况下 PDF.jsMock.js 可能会产生冲突? 2. 如何排查在 PDF.js 中使用 Mock.js 时遇到的冲突? 3. 如何避免 PDF.jsMock.js 的资源或命名空间冲突?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想吃烧烤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值