Tôi đang sử dụng chỉ thị để lấy dữ liệu từ đầu vào được sử dụng làm văn bản lọc.Không thể mô phỏng sự kiện nhấn phím trong thử nghiệm đơn vị Angular 2 (Jasmine)
đây là hostlistener tôi trong chỉ thị:
@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});
}
mã này đang làm việc một cách hoàn hảo, tôi không thể kiểm tra đơn vị giống nhau.
Tôi đã đăng ký với bộ lọc EventEmitter bị thay đổi, trong bài kiểm tra đơn vị của tôi để kiểm tra giá trị.
Tôi đã thử mô phỏng sự kiện nhấn phím để thay đổi giá trị và cũng đã thử thuộc tính giá trị cài đặt. Không ai trong số này đang làm việc cho tôi.
đây là file spec của tôi:
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) => {
tableChangeCount++;
tableEvent = event;
});
// Check if table exists
let inputElement = element.querySelectorAll('tr')[1].querySelector('input');
let e = new KeyboardEvent("keypress", {
key: "a",
bubbles: true,
cancelable: true,
});
inputElement.dispatchEvent(e);
});
});
tôi đã cố gắng thiết lập giá trị:
let attrs = inputElement.attributes;
inputElement.setAttribute('value', 'abc');
for (let i = attrs.length - 1; i >= 0; i--) {
// Attribute value is set correctly
if (attrs[i].name === 'value') {
console.log(attrs[i].name + "->" + attrs[i].value);
}
}
bất cứ ai có thể vui lòng giúp tôi, làm thế nào tôi có thể kiểm tra đơn vị giống nhau không?
_ "đây là tệp đặc tả của tôi: "_ ... bạn có thể hiển thị thử nghiệm _complete_ để chúng tôi có thể thử và tìm hiểu xem bạn đang làm gì sai không. –
thêm kiểm tra thử nghiệm đầy đủ, có một nút bấm để sắp xếp và làm mới, hoạt động của nó một cách chính xác .. m bị mắc kẹt ở đây – Akanksha
Mong đợi của bạn ở đâu? –