带有 Faker 的工厂女孩​​在 Node Express 中生成相同的数据

factory girl with faker generate same data in node express

我正在尝试让工厂女孩生成测试数据:

import { factory } from "factory-girl";
import faker from "faker";

export const adminDef = (factory: Static) =>
  factory.define('User', User, {
    email: internet.email(),
    password: internet.password(),
    firstName: name.firstName(),
    lastName: name.lastName(),
    phoneNumber: phone.phoneNumber(),
    role: UserRole.ADMIN
  });

我遇到的问题是每次调用 factory.create("User") 两次。它尝试创建相同的 user 数据。而不是创建不同的对象。在rails中,你可以用{ }包裹faker。我如何在节点中执行此操作?

将定义定义为函数时,它起作用了!不确定在文档中的何处找到它。

export const adminDef = (factory: Static) =>
  factory.define('User', User, () => ({
    email: internet.email(),
    password: internet.password(),
    firstName: name.firstName(),
    lastName: name.lastName(),
    phoneNumber: phone.phoneNumber(),
    role: UserRole.ADMIN
  }));