@ngrx/store
을 통해 상태 변경 작업을 실행하는 각도 도구 모음 구성 요소를 테스트하고 있습니다.동작 테스트 Angular Components를 사용하면 다른 구성 요소의 인스턴스를 조회 할 수 있습니까?
고유 한 내부 상태를 업데이트하기 위해 이러한 상태 변경을 구독하는 다른 구성 요소가 있습니다.
따라서 karma/jasmine
단위 테스트에서 툴바 버튼 클릭을 트리거합니다. 나는 단순히 다른 컴포넌트의 spy
을 원하고 변경 기능이 있다고 주장한다.
그래서 질문은, 단지 OFC 코드 - 냄새 간주되는 시험을 위해 ViewParent/ViewChild
지침과 기존 구성 요소를 변경하지 않고, 는 어떻게 각도 구성 요소의 인스턴스를 조회 할입니까?
내가 종류의 단위 테스트의 관점에서 당신과 동의 (제대로 아이가 바인드되는 내용에 따라로드
parentComponentFixture
에detectChanges()
를 호출 할 필요가있을 수있다) 그리고 난에 지정 않았다 게시물. 그러나 실제로 캡슐화 된 방식으로 동작을 설명하지는 않습니다. 누군가가 첫 번째 구성 요소의 행동 강령과 단원 테스트를 삭제할 수 있으며 두 번째 구성 요소 테스트는 여전히 통과되지만 아직 동작이 중단됩니다. 나는 이것이 TDD와 BDD 사이의 차이점을 강조한 것 같아요. 반드시 완전한 e2e 테스트를 수행하지 않고 동작을 테스트하고 싶습니다. –글쎄, 나에게 단위 테스트는 '단위'테스트에 관한 것이다. 따라서 전체 상호 작용을 테스트하려면 단위 테스트가 통합 테스트와 유사 할지라도 상호 작용의 양면을 캡슐화하는 더 큰 '단위'를 찾아야합니다. 좋은 소식은 이러한 종류의 통합 테스트에 대해 동일한 종류의 테스트 설정을 사용할 수 있다는 것입니다. 반드시 분도기 테스트로 전환 할 필요는 없습니다 – snorkpete