Kar*_*rim 7 unit-testing jasmine typescript angular
我正在寻找一种方法来简化在 Angular 解决方案中为单元测试制作虚假数据的过程。我正在使用如下接口:
export interface ReferenceDataItemCommon {
codeDescription?: string;
code: string;
deleted?: boolean;
}
Run Code Online (Sandbox Code Playgroud)
作为应用程序中的数据类型。目前使用 Factory.ts + Faker 创建假对象以进行测试:
export const fakeReferenceDataItemCommon = Factory.Sync.makeFactory<ReferenceDataItemCommon>({
code: Factory.each(() => Faker.lorem.word()),
codeDescription: Factory.each(() => Faker.lorem.sentence(4)),
});
Run Code Online (Sandbox Code Playgroud)
但我很好奇是否有一种方法可以进一步简化它,当您只需要一个对象进行测试并加快创建它的速度时。Typescript 中是否可以有一个通用方法来返回该数据类型的对象?
const fake = createFake<ReferenceDataItemCommon>();
Run Code Online (Sandbox Code Playgroud)
我最初的想法是做类似的事情:
Object.keys(object).forEach(key => {
switch(typeof object[key]) {
case 'string':
object[key] = Faker.lorem.word();
break;
}
}
return object;
Run Code Online (Sandbox Code Playgroud)
对于复杂的对象,递归地调用此方法。这可能吗?如果我觉得有点超出我的深度,那么更好的方法是什么?
| 归档时间: |
|
| 查看次数: |
7891 次 |
| 最近记录: |