2017-12-22 26 views
0

true/false를 반환하지만 유닛 테스트 케이스에서 구성 요소의 일부가 아닌 함수를 테스트하려고합니다. 사양 파일에서이 참조를 어떻게 얻을 수 있습니까?각도 2 단위 테스트에서 구성 요소의 일부가 아닌 함수에 액세스하는 방법은 무엇입니까?

더미 성분 :

function Validate(abc){ 

} 

@Directive({ 
    selector: [abc-credit] 
}) 

export class CreditDirective { 
    this.valid=Validate(abc); 
} 

사양 파일 :

import {CreditDirective} from './credit.directive'; 

describe('CreditDirective',() => { 
    let component: TestLayoutComponent; 
    let fixture: ComponentFixture<TestLayoutComponent>; 
    beforeEach(async(() => { 
     TestBed.configureTestingModule({ 
      declarations: [CreditDirective, TestLayoutComponent], 
      imports: [FormsModule, UtilitiesModule, BrowserAnimationsModule] 
     }) 
      .compileComponents().then(() => { 
       fixture = TestBed.createComponent(TestLayoutComponent); 
       component = fixture.componentInstance; 
       fixture.detectChanges(); 
      }); 

    })); 

    it('should properly execute Validate()', function(){ 
     expect(validate(cardType)).toBeTruthy(); 
    }); 

}); 

@Component({ 
    selector: 'test-layout', 
    template: 'some template' 
}) 

export class TestLayoutComponent { 
} 

유효성 검사() TestLayoutComponent CardDirective 또는 하나의 부분이 아니다. 그렇다면 테스트 케이스에서 어떻게 접근합니까? 당신이 고립에서 그 기능을 테스트 할 수 있도록

+0

당신은 또한 내보내기 기능 검증'와 유효성 검사 기능을 내보낼 필요로하는 기능을 내 보내야합니다, 기능을 전용 사양 파일을 만들고 가져올 수 있습니다 (abc) {'그리고 나서'import {CreditDirective, Validate} '를 사용하여'./credit.directive'에서 테스트 결과를 가져올 수 있습니다 : – nemesv

+0

@nemesv 성공했습니다, 고맙습니다 :) 귀하의 대답 있도록 내가 승인으로 표시 할 수 있습니다 :) –

답변

1

당신은 물론 당신이

+0

그냥 함수를 수출하여 일했습니다. 고맙습니다 :) –