我目前正在使用chance.js
来生成测试数据。例如,我可以生成随机电子邮件并使用它来测试我的模型。
我的问题是我需要确保我的模型上的某些字段是唯一的,例如用户模型上的电子邮件。 chance
是否确保它不会两次生成相同的电子邮件?
我愿意使用faker
替代,但我无法确定faker
是否提供此功能。
答案 0 :(得分:2)
chance.js
有一个独特的功能,它也支持比较器功能来自change.js docs:
比较器用于确定生成的项目是否在 已生成项目的列表。默认情况下,比较器只是检查 查看新生成的项是否已在数组中 生成的项目。这适用于大多数简单情况(例如 chance.state())但如果生成的项是对象则不起作用 (因为Array.prototype.indexOf()方法不适用于 对象,因为2个对象不会严格相等,===,除非它们 是对同一个对象的引用。)
chance.unique(chance.currency, 2, {
comparator: function(err, val) {
return arr.reduce(function(acc, item) {
return acc || (item.code === val.code);
}, false);
}
});
查看docs了解详情......