我正在寻找一种简化为Angular解决方案中的单元测试制作虚假数据的方法。 我正在使用如下接口:
export interface ReferenceDataItemCommon {
codeDescription?: string;
code: string;
deleted?: boolean;
}
作为应用程序中的数据类型。当前使用Factory.ts + Faker创建用于测试目的的伪造对象:
export const fakeReferenceDataItemCommon = Factory.Sync.makeFactory<ReferenceDataItemCommon>({
code: Factory.each(() => Faker.lorem.word()),
codeDescription: Factory.each(() => Faker.lorem.sentence(4)),
});
但是我很好奇是否有一种方法可以简化它,例如当您只需要一个对象进行测试并加快其创建速度时。 在Typescript中是否可以有一个通用方法来返回该数据类型的对象?
const fake = createFake<ReferenceDataItemCommon>();
我最初的想法是做类似的事情:
Object.keys(object).forEach(key => {
switch(typeof object[key]) {
case 'string':
object[key] = Faker.lorem.word();
break;
}
}
return object;
对于复杂对象,请递归调用此方法。那有可能吗?如果我觉得自己的深度超出了我的想象范围,那么还有什么更好的方法呢?