我正在单元测试一个包含clarity
带有clarit directives
.
我已经模拟了清晰度标签,但它们具有clrDgItems
我无法用指令类模拟的指令。
<clr-dg-row *clrDgItems="let item of items$ | async | filter : listFilter.keyword : ['trackingCode', 'title']" [clrDgItem]="episode">
我可以替换clrDgItems
为ngFor
但表格过滤器停止工作。
没有它,测试将无法编译:
无法绑定到“clrDgItemsOf”,因为它不是“clr-dg-row”的已知属性
当我将 mockDirective 添加为:我收到错误
失败:模块“DynamicTestModule”声明的意外值“[object Object]”
function MockDirective(options: any): Directive {
const metadata: Directive = {
selector: options.selector,
inputs: options.inputs,
outputs: options.outputs
};
return new Directive(metadata);
}
TestBed.configureTestingModule({
imports: [
RouterTestingModule
],
declarations: [
MockDirective({
selector: '[clrDgItemsOf]',
}),
MockComponent({
selector: 'clr-dg-row',
template: '<ng-content></ng-content>',
outputs: ['clrDgItemsOf'],
inputs: ['clrDgItem']
}), ...
有什么建议么?