Я пишу модульный тест в угловых для события нажатия кнопки.Упомянутый ниже модульный тест кнопки отлично работает для ситуаций, когда функция не параметризована -
Как это будет работать, если она:
(click)="editForms()"
, но когда я добавляю параметрык функциям, как здесь у меня есть:
(click)="editForms(array) , the this test fails as - "Failed: Cannot read property 'click' of null" --
Невозможно вызвать функцию editForms
.
Может кто-нибудь, пожалуйста, скажите мне, как это сделать сэто?
beforeEach(() => {
fixture = TestBed.createComponent(MyjobsComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
fit('should do editForms button click ', async(() => {
spyOn(component, 'editForms');
let button = fixture.debugElement.nativeElement.querySelector('button');
button.click();
fixture.whenStable().then(() => {
expect(component.editForms).toHaveBeenCalled();
})
}));
HTML:
<button mat-raised-button style="background-color:#6666ff;color:white;" (click)="editForms(array)"> <i class="material-icons">create</i></button>
component.ts:
editForms(name) {
console.log(name);
console.log( this.totalJobData);
for(let e = 0; e < this.totalJobData.length; e++){
if(this.totalJobData[e].jobName === name){
this.jobID = this.totalJobData[e].jobId;
this.sourceCode = this.totalJobData[e].sourceCode;
}`enter code here`
}
console.log(this.sourceCode);
.....