用节点生成独特的testing数据

我目前正在使用chance.js来生成testing数据。 例如,我可以生成一个随机的电子邮件,并用它来testing我的模型。

我的问题是,我需要确保我的模型上的一些字段是唯一的,例如在用户模型上的电子邮件。 有chance确保它不会生成两次相同的电子邮件吗?

我会愿意使用faker作为替代,但是我不知道faker提供了这个function。

chance.js还有一个独特的函数,它也支持比较器function从change.js文档:

比较器用于确定生成的项目是否在已经生成的项目列表中。 默认情况下,比较器只是检查新生成的项目是否在已经生成的项目数组中。 这适用于大多数简单的情况(如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); } }); 

检查文档的更多细节…