我正在使用一个指令来获取用作过滤器文本的输入数据.
这是我在指令中的hostlistener:
@HostListener('input', ['$event.target.value'])
public onChangeFilter(event: any): void {
console.log('input event fired, value: ' + event);
this.columnFiltering.filterString = event;
this.filterChanged.emit({filtering: this.columnFiltering});
}
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常,我无法进行单元测试.
我订阅了filterChanged EventEmitter,在我的单元测试中检查了值.
我尝试模拟按键事件来更改值并尝试设置值属性.这些都不适合我.
这是我的spec文件:
describe('Table View', () => {
let fixture: ComponentFixture<any>;
let context: TableComponent;
beforeEach(() => {
TestBed.configureTestingModule({
providers: [
TableComponent,
],
imports: [TableModule],
});
fixture = TestBed.createComponent(TableComponent);
context = fixture.componentInstance;
});
it('should allow filter', () => {
const element = fixture.nativeElement;
context.config = config;
fixture.detectChanges();
let tableChangeCount = 0;
let tableEvent: any;
context.tableChanged.subscribe((event: any) => …Run Code Online (Sandbox Code Playgroud)