我正在使用faker和JSON-Schema-Faker包生成测试数据的脚本。
查找“架构继承”和可选字段的示例。 例如,我有一个带有必填字段的'user'对象:'_ id','firstName','lastName','username','email'和一个[且只有一个]:customerProfile,partnerProfile和adminProfile。每个可选字段(如果存在):保留与另一个模式对应的非空数组值。
请指出相关的例子。
答案 0 :(得分:1)
结束时:
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;