• Home
  • About
    • Junseok photo

      Junseok

      개발자 블로그

    • Learn More
    • Facebook
    • Instagram
    • Github
  • Posts
    • All Posts
    • All Tags
  • Java
    • java-basic
    • java-solid
    • java-pattern
    • java-logging
  • Javascript
  • Angular
  • spring
    • spring-framework
    • spring-boot
    • spring-test
  • server
    • jeus
    • webtob
    • tomcat
  • test
    • junit
    • assertj
    • hamcrest
    • dbunit
    • spring
  • docker
  • unix
  • maven
  • db
  • network
  • eclipse
  • intellij
  • microservices
  • etc

Reading time ~2 minutes

angular 프로젝트 폴더에 e2e 폴더란?

프로젝트 이름이 demo인 angular 프로젝트를 생성하면..

ng new demo

e2e 폴더가 생성된다.

여기서 이 e2e 폴더는 무엇일까?

e2e 폴더안에는

  • src폴더
  • protractor.conf.js
  • tsconfig.e2e.json

구조로 되어 있다.

src폴더 안에는

  • app.e2e-spec.ts
  • app.po.ts

구조로 되어 있다.

여기서 e2e란?

e2e 는 end to end 를 뜻한다.
끝에서 끝

end to end test 끝에서 끝을 테스트한다.

  • 소프트웨어의 흐름을 처음부터 끝까지 테스트 한다.
  • 실제 사용자 시나리오를 시뮬레이션 한다.
  • 테스트 하고자 하는 시스템과 연계된 서브 시스템까지의 흐름도 테스트
  • 시스템간의 데이터 무결성 확인
  • 다른 시스템, 인터페이스, 데이터베이스, 네트워크 및 기타 응용 프로그램과의 통신에 대한 테스트

e2e 에 대해서는 더 많고 다양한 정의와 정의 뿐만이 아닌 테스트를 해야하는 목적과 테스트 하는 방법 등에 대해 찾아 보자.

간단히 이야기해서 웹의 경우 사용자가 실제 로그인, 또는 계좌 이체, 상품 구매 등의 행위를 했을 시 정상적으로 동작하는지 테스트 하는 것이다.


angular 는 angular cli 를 통해서 e2e 테스트를 수행할 수 있다.

cmd 로 명령어 실행 시 angular 프로젝트 경로에서 ng e2e 명령을 실행하면 e2e 테스트가 실행된다.

도움말을 보고싶으면 ng e2e --help 명령어를 실행하면 e2e 옵션에 대해 볼 수 있고,
또한 https://angular.io/cli/e2e 에 가서 확인해도 된다.


여기서 한가지 보게 되면

protractor.conf.js 가 있는 것을 볼 수 있다.

protractor가 무엇인지 찾아보면

protractor 라는 사이트를 찾을 수 있다.

protractor

사이트 주소는 http://www.protractortest.org/

angular application을 위한 end to end test 프레임워크라고 나와 있다.


여기서 우선 추측해보자면..

app.po.ts 파일은

테스트를 실행하기 위해 application이 실행된 뒤 web에 접근하기 위한 코드인 거 같다.

특정 url로 특정페이지를 요청하는 코드.

해당 페이지에 그려진 html 코드를 가져오기 위한 코드.

그리고

app.e2e-spce.ts 는

e2e 테스트를 실행하는 테스트 코드로 보여진다.

angular 각 컴포넌트 파일당 spec.ts 파일이 단위 테스트 파일로 만들어지는 것과 동일하게 만든것 같다.

그리고

protractor.conf.js 파일은

파일명 그대로 e2e테스트를 위한 protractor 의 설정 파일로 보여진다.


여기서 angular는 karma.conf.js 파일도 만든다.

여기서 karma는 카르마 테스트 러너라고 한다.

jasmine 이라는 frontend 테스트 프레임워크를 실행시키기 위한 러너라고 보여진다.

angular cli 를 통해

ng generate component demo 를 이용해서 demo 라는 이름의 컴포넌트를 생성하게 되면

component.ts 파일 외에 component.spec.ts 파일이 만들어지는데..

이 파일이 바로 angular 단위 테스트를 하기 위해 만들어진 파일로

karma 러너를 통해서 실행되는 jasmine 프론트 엔드 테스트 코드 파일이다.

우선 여기까지..



Share Tweet +1