使用 Faker 生成测试数据
Generating test data with Faker
我正在编写一个脚本,使用 faker 和 JSON-Schema-Faker 包生成测试数据。
正在寻找带有 "schema inheritance" 和可选字段的示例。
例如,我有一个包含必填字段的 'user' 对象:'_id'、'firstName'、'lastName'、'username'、'email' 和一个 [并且只有一个]:customerProfile、partnerProfile 和 adminProfile。每个可选字段(如果存在):保留一个与另一个模式相对应的非空值数组。
请指出相关示例。
最终:
admin: function(first, last){
return {
"displayUsername": first + " " + last,
"active": true
};
},
...
var profileIndex = Math.round(Math.random() * 2);
var profileTypes = ["admin", "customer", "partner"];
var currentProfileType = profileTypes[profileIndex];
var userRecord = {
"username": username,
"firstName": firstName,
"lastName": lastName,
"email": email,
"_id": _id
//(ES6 Syntax) ,[currentProfileType + "Profile"]: profileBuilders[currentProfileType](firstName, lastName);
};
userRecord[currentProfileType + "Profile"] = profileBuilders[currentProfileType](firstName, lastName);
return userRecord;
我正在编写一个脚本,使用 faker 和 JSON-Schema-Faker 包生成测试数据。
正在寻找带有 "schema inheritance" 和可选字段的示例。 例如,我有一个包含必填字段的 'user' 对象:'_id'、'firstName'、'lastName'、'username'、'email' 和一个 [并且只有一个]:customerProfile、partnerProfile 和 adminProfile。每个可选字段(如果存在):保留一个与另一个模式相对应的非空值数组。
请指出相关示例。
最终:
admin: function(first, last){
return {
"displayUsername": first + " " + last,
"active": true
};
},
...
var profileIndex = Math.round(Math.random() * 2);
var profileTypes = ["admin", "customer", "partner"];
var currentProfileType = profileTypes[profileIndex];
var userRecord = {
"username": username,
"firstName": firstName,
"lastName": lastName,
"email": email,
"_id": _id
//(ES6 Syntax) ,[currentProfileType + "Profile"]: profileBuilders[currentProfileType](firstName, lastName);
};
userRecord[currentProfileType + "Profile"] = profileBuilders[currentProfileType](firstName, lastName);
return userRecord;