2017-12-24 20 views
3

Cypress를 사용하여 내 하위 도메인을 쉽게 테스트 할 수 있습니다. 나는 dist (index.html 포함)을 만들 때 빌드 된 파일에 대해 Cypress 테스트를 실행하려고하는 각도/반응 응용 프로그램이 있습니다.cypress js에서 테스트를 실행하기 전에 SPA를 서브

불행히도 dist 폴더 (예 : npmserve 패키지)를 제공하는 방법을 알지 못해서 Cypress 테스트를 시작하지 않았습니다.

index.html을 다른 터미널 탭에 게재 할 수 있다는 것을 알고 있지만 CircleCi (내 CI)에서는 발생하지 않습니다.

Cypress가 실제 테스트를 시작하기 전에 로컬 호스트를 대체하고 정적 파일을 제공 할 수 있습니까?

답변

1

browser-sync을 사용하여 정적 파일을 배포하는 서버를 시작했습니다.

패키지를 설치하려면 cypress (분명히), browser-sync (서버 시작) 및 npm-run-all (연속적으로 서버 및 노송 나무 시작) 패키지를 설치해야합니다. 여기

npm install --save-dev cypress 
npm install --save-dev browser-sync 
npm install --save-dev npm-run-all 

당신이 당신의 package.json에 추가해야합니다 고궁 박물원 스크립트 구성의 예입니다. <port> (예 : 4000) 및 <folder>에 SPA (예 : 공용)의 경로가 포함 된 것을 사용자 지정하는 것을 잊지 마십시오.

{ 
    "scripts": { 
    "cypress": "cypress run", 
    "server": "browser-sync start --port <port> --server <folder> --no-open", 
    "test": "run-p -r server cypress" 
    } 
} 

이제 첫 번째 Hello world 테스트를 작성해야합니다 : 그것은

describe('My App', function() { 
    it('is up', function() { 
     cy.visit('http://localhost:4000'); 

     cy.contains('Hello world!'); 
    }); 
}); 

의 그! 테스트를 시작할 수 있습니다 :

npm test