클릭 이벤트 발생시 드롭 다운에서 단위 테스트를 수행하는 방법

Karansys

Angular 앱에서 단위 테스트를 실행 중입니다. 드롭 다운을 클릭하면 ID 번호와 같은 프런트 엔드 데이터를 업데이트하여 응답해야합니다.

프런트 엔드 템플릿

<mat-menu #menuFilter="matMenu">
   <button *ngFor="let customer of customers; let i = index" 
   (click)="onCustomerChange(i)" mat-menu-item class="selectCustomerData"> 
   {{owner.id}}</button>
 </mat-menu>

백엔드 유형 스크립트

onCustomerChange(i) {
    console.log(this.customers[i].ownerid);
    this.customerNumber = this.customers[i].ownerid;
    this.customerName = this.customers[i].ownername;
}

실행할 테스트

it('should update the customer number on selecting a value from drop down',()=>{
  fixture.detectChanges();
//what should I do here
 })

샤 생크 비벡

우선 코드 개선입니다.

<mat-menu #menuFilter="matMenu">
   <button *ngFor="let customer of customers" 
   (click)="onCustomerChange(customer)" mat-menu-item class="selectCustomerData"> 
   {{owner.id}}</button>
 </mat-menu>

그리고 TS에서 :

onCustomerChange(customerObj) {
   console.log(customerObj.ownerid);
   this.customerNumber = customerObj.ownerid;
   this.customerName = customerObj.ownername;
}

이제 단위 테스트의 경우 :

  it('should update the customer number on selecting a value from drop down', () => {
    component.customers = [{ ownerid: 1, ownerName: 'Person1' }, { ownerid: 2, ownerName: 'Person2' }];
    spyOn(component, 'onCustomerChange').and.callThrough();
    const e = fixture.debugElement.nativeElement.querySelectorAll('.selectCustomerData');
    e[1].click();
    expect(component.onCustomerChange).toHaveBeenCalledWith({ ownerid: 2, ownerName: 'Person2' });
    expect(component.customerNumber).toBe(2);
    expect(component.customerName).toBe('Person2');
  });

이 블로그를 참조하여 Angular Unit Testing에서 매우 정교한 예제를 얻을 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Angular의 드롭 다운 목록에서 선택하기 위해 클릭 이벤트를 발생시키는 방법

분류에서Dev

Angular 지시문에 대한 단위 테스트에서 클릭 이벤트를 트리거하는 방법

분류에서Dev

BackboneJs에서 클릭 이벤트를 발생시키는 방법

분류에서Dev

Flutter에서 드롭 다운 클릭시 드롭 다운 옵션이있는 하단 시트 표시

분류에서Dev

하위 구성 요소에서 클릭 이벤트를 발생시키는 방법은 무엇입니까?

분류에서Dev

하위 요소 클릭시 상위의 클릭 이벤트 발생 방지

분류에서Dev

버튼 클릭시 자바 스크립트에서 드롭 다운을 숨기거나 표시하는 방법

분류에서Dev

Guid 인수로 이벤트를 발생시키는 단위 테스트 메서드

분류에서Dev

Guid 인수로 이벤트를 발생시키는 단위 테스트 메서드

분류에서Dev

C #에서 daragridview 테이블의 셀에서 클릭 이벤트를 발생시키는 방법

분류에서Dev

delphi xe5에서 코드로 그리드 이중 오른쪽 테두리 클릭 이벤트를 발생시키는 방법은 무엇입니까?

분류에서Dev

테두리가있는 단추에서 클릭 이벤트를 발생시키는 올바른 방법은 무엇입니까?

분류에서Dev

요소가 루프에서 생성 된 경우 부트 스트랩 드롭 다운이 클릭 이벤트를 실행하지 않음

분류에서Dev

클릭시 발생하는 텍스트 상자에 대해 다른 데이터 ID를 만드는 방법

분류에서Dev

kivy 스위치 항목에 대한 클릭을 해제 할 때 하나의 이벤트를 발생시키는 방법은 무엇입니까?

분류에서Dev

단추 클릭 이벤트에서 두 개의 소스 데이터를 DataTables에로드하는 방법

분류에서Dev

JavaFX TableView에서 열 드래그 앤 드롭시 이벤트 발생을 방지하는 방법

분류에서Dev

CanvasJS React-클릭 이벤트를 처리하는 동시에 파이 차트 슬라이스 하이라이트 (일명 폭발)를 만드는 방법

분류에서Dev

JavaScript에서 자식 노드가 클릭 이벤트를 발생시킬 때 부모 노드를 삭제하는 방법은 무엇입니까?

분류에서Dev

클릭 이벤트에서 사운드 파일을 하나씩 재생하는 방법

분류에서Dev

내 탐색 모음에서 두 번째 클릭시 부트 스트랩 드롭 다운 메뉴를 숨기는 방법은 무엇입니까?

분류에서Dev

하위 구성 요소에서 클릭 이벤트 발생

분류에서Dev

드롭 다운 목록에서 클릭 이벤트 트리거

분류에서Dev

버튼을 다시 클릭 할 때까지 드롭 다운 부트 스트랩을 표시하는 방법

분류에서Dev

클릭 함수에서 또는 이벤트가 발생할 때 jquery 함수에 액세스하는 방법

분류에서Dev

Highcharts : 다른 차트에서 클릭 이벤트가 발생할 때 차트를 변경하거나 다시 그리는 방법은 무엇입니까?

분류에서Dev

버튼 클릭 이벤트를 발생시키지 않고 버튼 콘텐츠 내에서 ToggleSwitch 컨트롤을 클릭하는 방법

분류에서Dev

클릭 이벤트를 수행하지 않고 다른 편집 텍스트에 하나의 편집 텍스트 값을 표시하는 방법

분류에서Dev

C #에서 사용자 컨트롤을 클릭 할 때에도 양식 클릭 이벤트를 발생시키는 방법

Related 관련 기사

  1. 1

    Angular의 드롭 다운 목록에서 선택하기 위해 클릭 이벤트를 발생시키는 방법

  2. 2

    Angular 지시문에 대한 단위 테스트에서 클릭 이벤트를 트리거하는 방법

  3. 3

    BackboneJs에서 클릭 이벤트를 발생시키는 방법

  4. 4

    Flutter에서 드롭 다운 클릭시 드롭 다운 옵션이있는 하단 시트 표시

  5. 5

    하위 구성 요소에서 클릭 이벤트를 발생시키는 방법은 무엇입니까?

  6. 6

    하위 요소 클릭시 상위의 클릭 이벤트 발생 방지

  7. 7

    버튼 클릭시 자바 스크립트에서 드롭 다운을 숨기거나 표시하는 방법

  8. 8

    Guid 인수로 이벤트를 발생시키는 단위 테스트 메서드

  9. 9

    Guid 인수로 이벤트를 발생시키는 단위 테스트 메서드

  10. 10

    C #에서 daragridview 테이블의 셀에서 클릭 이벤트를 발생시키는 방법

  11. 11

    delphi xe5에서 코드로 그리드 이중 오른쪽 테두리 클릭 이벤트를 발생시키는 방법은 무엇입니까?

  12. 12

    테두리가있는 단추에서 클릭 이벤트를 발생시키는 올바른 방법은 무엇입니까?

  13. 13

    요소가 루프에서 생성 된 경우 부트 스트랩 드롭 다운이 클릭 이벤트를 실행하지 않음

  14. 14

    클릭시 발생하는 텍스트 상자에 대해 다른 데이터 ID를 만드는 방법

  15. 15

    kivy 스위치 항목에 대한 클릭을 해제 할 때 하나의 이벤트를 발생시키는 방법은 무엇입니까?

  16. 16

    단추 클릭 이벤트에서 두 개의 소스 데이터를 DataTables에로드하는 방법

  17. 17

    JavaFX TableView에서 열 드래그 앤 드롭시 이벤트 발생을 방지하는 방법

  18. 18

    CanvasJS React-클릭 이벤트를 처리하는 동시에 파이 차트 슬라이스 하이라이트 (일명 폭발)를 만드는 방법

  19. 19

    JavaScript에서 자식 노드가 클릭 이벤트를 발생시킬 때 부모 노드를 삭제하는 방법은 무엇입니까?

  20. 20

    클릭 이벤트에서 사운드 파일을 하나씩 재생하는 방법

  21. 21

    내 탐색 모음에서 두 번째 클릭시 부트 스트랩 드롭 다운 메뉴를 숨기는 방법은 무엇입니까?

  22. 22

    하위 구성 요소에서 클릭 이벤트 발생

  23. 23

    드롭 다운 목록에서 클릭 이벤트 트리거

  24. 24

    버튼을 다시 클릭 할 때까지 드롭 다운 부트 스트랩을 표시하는 방법

  25. 25

    클릭 함수에서 또는 이벤트가 발생할 때 jquery 함수에 액세스하는 방법

  26. 26

    Highcharts : 다른 차트에서 클릭 이벤트가 발생할 때 차트를 변경하거나 다시 그리는 방법은 무엇입니까?

  27. 27

    버튼 클릭 이벤트를 발생시키지 않고 버튼 콘텐츠 내에서 ToggleSwitch 컨트롤을 클릭하는 방법

  28. 28

    클릭 이벤트를 수행하지 않고 다른 편집 텍스트에 하나의 편집 텍스트 값을 표시하는 방법

  29. 29

    C #에서 사용자 컨트롤을 클릭 할 때에도 양식 클릭 이벤트를 발생시키는 방법

뜨겁다태그

보관