{
@Component({
template: `
<button
dexButton
(onClick)="onClick($event)" // doesn't work with click does
[textLabel]="textLabel">
</button>
`
})
class TestComponent {
textLabel = 'My Button';
onClick($event: Event) {
console.log('Testing click', $event);
}
}
let fixture: ComponentFixture<TestComponent>;
let component: TestComponent;
configureTestSuite(() => {
TestBed.configureTestingModule({
imports: [ButtonModule],
declarations: [
TestComponent
],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
});
});
beforeAll(() => {
fixture = TestBed.createComponent(TestComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create the component', async () => {
expect(component).toBeTruthy();
});
it('should emit click on each click', fakeAsync(() => {
const buttonElement = fixture.debugElement.nativeElement.querySelector('button');
jest.spyOn(component, 'onClick');
//Trigger click event after spyOn
buttonElement.click();
tick();
expect(component.onClick).toHaveBeenCalled();
}));
А в чем проблема?
Тест на клик не работает.
Кстати как подключаю настоящий компонент, все работает.
fixture.detectChanges?
После клика
Сек проверю
Но все равно, немного не правильно кверяешь дом, и и клик не так надо делать
Я кнопку пишу. Почему нет?
(onCLick) нормально работает? почему не (click) ?
Я же хочу свой компонент внутри тестового проверить
Вот тут пример https://netbasal.com/simulating-events-in-angular-unit-tests-5482618cd6c6
полезно, забрал. спасибо!
Ну так почему не правильно?
У тебя callback тригерится должен на ивент onClick, а ты делаешь click
Обсуждают сегодня