객체.Angular2 + 재스민 이벤트 내가 테스트 할 필요가있다이 간단한 방법을
it('should close on info container click',() => {
spyOn(component, 'onLayerContainerClick');
const el: DebugElement = fixture.debugElement.query(By.css('.dpm-info__layerContainer'));
el.triggerEventHandler('click', null);
expect(component.onLayerContainerClick).toHaveBeenCalled();
});
테스트가 OK이지만, instanbul은 "기능이 적용되지 않습니다"라고 : 나는 테스트하는 경우는 다음과 같이한다. 그래서 함수를 명시 적으로 호출해야합니다. 그렇게하기 위해서는 (최소한) srcTarget 속성을 포함하여 전체 이벤트 객체가 필요합니다. 단위 테스트 내에서 그러한 이벤트를 어떻게 정의합니까?
도전 과제는 t입니다. 그는'onLayerContainerClick'에 전달 된 인자가'Event' 타입이 될 것으로 기대하는 Typescript입니다. 'srcTarget' 속성을 가진 객체를 그냥 넘겨도 커팅되지 않습니다 - 타입 에러가납니다. – pop
오케이, 각 테스트의 시작 부분에'beforeEach'도 게시 할 수 있습니까? btw, component.onLayerContainerClick을 시도하는 경우 ( {srcElement : {value : 'mock_value'}}); 또는 오류가 발생합니까? –
DrNio
@pop 도전은 아닙니다. 유형은 장애물을 만들지 않도록 도와줍니다. ' arg' 또는' arg'를 사용하여 필요한 인수를 전달할 수 있습니다. –
estus