Verileri, filtre metni olarak kullanılan girişten almak için bir yönergeyi kullanıyorum. Bu kod mükemmel çalışıyorAngular 2 birim testinde tuş bastırma olayını simüle edemiyorum (Jasmine)
@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});
}
, ben aynı birim testi alamıyorum:
burada yönergede benim hostlistener olduğunu.
Değeri kontrol etmek için benim birim testimde filterChanged EventEmitter öğesine abone oldum.
Değeri değiştirmek için ve aynı zamanda ayarları değer özniteliğini denemek için tuşa basma olayını taklit etmeyi denedim. Bunların hiçbiri benim için çalışmıyor. ,
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);
}
}
kimse bana yardım edebilir nasıl birim test aynı yapabilirsiniz:
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);
});
});
ben ayar değeri çalıştı: Burada
benim özellik dosyası nedir?
_ "Burada benim spec dosyam: "_ ... bir _complete_ testini gösterebilir, böylece ne yaptığınızı ve neyi yanlış yaptığınızı öğrenebiliriz. –
tam test testini ekledi, sıralamak ve yenilemek için bir düğme tıkladı, düzgün çalışıyor ... m burada takılıyorum – Akanksha
Beklentiniz nerede? –