【发布时间】:2021-11-10 20:07:59
【问题描述】:
如何使用 Angular 执行“拆分”测试?
我正在尝试对具有“拆分”的方法运行测试,但最终出现此错误
按照下面的方法,测试类spec.ts
getCellData(row: any, column: any): any {
const nestedProperties: string[] = column.property.split('.');
let value: any = row;
for (const prop of nestedProperties) {
value = value[prop];
}
return value;
}
fdescribe('getCellData:', () => {
const column: any = [{
property: 'address.street',
label: 'Rua',
type: 'boolean',
}];
const columnItem: any =[{
name: 'teste',
address:{
street: 'Rua dos Alfeneiros, nº 4'
}
}]
let value: any = columnItem;
it('teste A', () => {
const nestedProperties: string[] = column.property.split('.');
expect(component.getCellData(column, value)).toEqual(nestedProperties);
});
});
【问题讨论】:
-
为什么在实现和测试中重复
const nestedProperties: string[] = column.property.split('.');这行?为什么将所有内容都输入为any?无论如何,这实际上并不是您要测试的结果,因为它会进一步处理它。另请注意,您将column传递给row参数,将value传递给column参数,这似乎不一致。最后value是一个数组,它没有property属性到.split。
标签: angular typescript unit-testing karma-jasmine