2014-04-28 4 views
3

각도기/WebDriver를 사용하여 단위 테스트를 수행 할 수있는 방법이 있습니까? 내가 이상적으로하고 싶은 것은 단일 지시어/구성 요소를 격리하고, 종속성을 모방하고, 다양한 데이터 비트를 주입하고, 일련의 브라우저에서 각도기로 처리하는 것입니다.각도기를 사용한 각도 JS 지시 테스트

이렇게하는 방법이 있습니까?

답변

2

각도기 (일반적으로 셀레늄)는 일반적으로 기술적이지 않은 최종 사용자가 스스로 수행 할 수있는 테스트 종류를 자동화하기위한 것입니다. 그런데 서버에서 다양한 오류 조건을 시뮬레이트하는 것이 유용 할 때가 있습니다. 당신은 몇 가지 옵션이 있습니다 :

  1. OnPrepare입니다 스크립트를 그렇게 미리 할 수 ​​있다면 사용 onPrepare 스크립트, 당신이 할 수있는만큼 백엔드 설치 작업을 수행합니다. 각도기 구성 파일 (see sample here) 안에 onPrepare 속성을 설정하여 데이터베이스에서 레코드를 설정하거나 파일을 만들거나 다른 작업을 수행 할 수있는 준비 스크립트를 가리 키도록하십시오.

  2. 사용 protractor.addMockModule :이는 본질적으로 Protractor.get가 호출 될 때마다 각도 전에로드 모듈을 추가하여 백엔드 API를 조롱 할 수 있습니다. 샘플에 대한 블로그 게시물을 참조하십시오 ("기초를 넘어서"를 검색) :
    http://product.moveline.com/testing-angular-apps-end-to-end-with-protractor.html

  3. 구성 테스트 전용 경로를 서버에서 : 최후의 수단으로, 서버에 대한 몇 가지 경로를 구성 할 수 엔드 - 투 - 엔드 테스트에서 필요한 모든 백엔드 처리를 수행하는 개발 환경에서만 액세스 할 수 있습니다. 예를 들어 Express.js와 함께 Node.js를 사용하는 경우 아래와 같이 할 수 있습니다.

테스트 전용 노선 :

// Store your server-side e2e methods in this file 
var e2eBackend = require('./test/e2eBackend'); 

if (app.get('env') === "development") { 
    app.get('/e2e/simulateCrash', e2eBackend.simulateCrash); 
    // etc. 
} 
0

각도기는 주로 e2e 테스트에 사용됩니다. 최종 사용자 관점에서 테스트. 단위 테스트 및 각도기에 재스민 프레임 작업을 사용할 수 있습니다. e2e 테스트에서는 재스민도 지원합니다.

+0

나뿐만 아니라 모든 테스트 지금 (재스민과) 카르마를 사용하고 있지만, 당신이 말한 것처럼, 즉 단위 테스트의 사용자의 관점에서되지 않습니다 . 내가 뭘하고 싶은지 사용자의 관점 (각도기)에서 테스트하지만, 테스트중인 구성 요소의 상태를 제어 할 수 있습니다. e2e 테스트에서 모든 오류 조건을 시뮬레이션하는 것이 항상 쉬운 것은 아닙니다. 특정 위젯이 서버 장애를 처리하는지 또는 인터넷 연결이 끊어 졌는지 테스트하려면 어떻게합니까? – nicholas

관련 문제