2017-04-06 6 views
0

템플릿을 테스트하기 위해 구성하려는 구성 요소에서 ng2-bootstrap 모듈 alertModule 또는 dropDownModule과 같은 타사 모듈을 사용합니다.모듈이 포함 된 테스트 구성 요소

이 구성 요소는이 특정 구성 요소에 대해 설정하려고하는 테스트와 관련이 없습니다. 그러나 내가 그들을 포함하지 않으면 알려지지 않은 지시문 등으로 인해 HTML이 컴파일되지 않아서 테스트가 실패합니다.

잘못된 "빈"모듈을 가져 오거나 더 이상 신경 쓰지 않고 앵귤러로 써드 파티 모듈을 무시하도록 만들 수 있습니까 그래서 나는 그들을 testBed에 포함 할 필요가 없습니다 템플릿에 렌더링되지 않지만 내 테스트에 포함되지 않았기 때문에 여기서는 상관 없습니다).

답변

1

당신은 당신이 그들을 조롱하거나 오류와 같은 각 문서에서 제안처럼 NO_ERRORS_SCHEMA을 사용할 수 있습니다 선언 할 필요가 없습니다 일부 구성 요소가있는 경우 : https://angular.io/docs/ts/latest/guide/testing.html#!#shallow-component-test

beforeEach(async(() => { 
TestBed.configureTestingModule({ 
declarations: [ AppComponent, RouterLinkStubDirective ], 
schemas:  [ NO_ERRORS_SCHEMA ] 
}) 

룩은 자세한 정보 :)

+0

서비스는 어떻습니까? 나는 많은 서비스, 특히 공급 업체를 포함합니다. 예 : toastr 서비스. 나는 그 (것)들을 전부 그루터기를 붙여야 하는가? – BlackHoleGalaxy

+0

원한다면 실제 서비스를 사용할 수도 있지만 보통 standAlone 서비스를 테스트하기 쉽기 때문에 보통 스텁합니다 (또는 벤더 서비스가 이미 테스트 된 경우).하지만 스텁 서비스는 TestBed에서 훨씬 쉽습니다 .configureTestingModule() 설정 객체를 프로 바이더로 [] 제공 할 수 있습니다. {RealClassService useValue : stubbedVarPreviouslyDeclared} –