2011-09-30 2 views
16

Google에는 풍부한 웹 클라이언트가 있습니다. 당사의 컨트롤러 및 서비스 외관은 coffeescript (JavaScript) 및 jquery로 작성됩니다. 과거 그들은 자바 였을 것입니다.Jenkins (Hudson)에서 JSP를로드하지 않고 Jasmine 테스트를 어떻게 실행할 수 있습니까?

Jenkins/Hudson의 JavaScript jasmine 테스트를 실행하기 위해 java의 junit 및 htmlunit을 사용하여 jasmine 스펙이 포함 된 테스트 지향 JSP 페이지를로드합니다.

Htmlunit가 실행을 시도하면 우리 파운데이션에서 추적하기 매우 어려운 XML 파서 클래스 경로 때문에 getPage()를 시도해 보니 폭발적입니다.

Jenkins의 JavaScript 테스트를 실행하고 JavaScript 테스트가 통과하지 못하면 실패를보고 싶을뿐입니다. JavaScript 테스트를 실행하기 위해 jsp 및 htmlunit을 사용하고 있습니다. 젠킨스가 자바 스크립트 엔진에 JavaScript 테스트 및 자바 스크립트 코드를로드 할 수 있습니까? 그렇다면 어떻게?

답변

0

셀렌을 사용할 수 있습니까? 그러면 실제로 실제 브라우저를 사용하고 가능한 한 실제 환경에 가깝게됩니다.

+1

답장을 보내 주셔서 감사합니다. 공정한 질문입니다. Jenkins가 셀레늄을 시작하고 Jasmine 테스트를 실행하여 결과를 확인하는 방법에 대한 질문으로 돌아 왔습니다. – finneycanhelp

+0

바로 그게 내가 찾고있는 것입니다 ... – naugtur

+0

@ sarel-botha :보십시오 : 1. SauceLabs, 2. 소스 OnDemand 플러그인 및 Saucery2 또는 Saucery3 NuGet 패키지로 Jenkins 및 SauceLabs로 자동화 된 테스트를 쉽게 수행 할 수 있습니다. –

13

Java 환경에있는 것 같습니다. 내 jasmine-maven-plugin이 적합 할 수 있습니다.

+1

감사합니다. 당신. 귀하의 코드는 대단하며 귀하의 기여에 감사드립니다. 예, 저는 Java 환경에 있으며 코드가 이에 대한 해결책을 제시했습니다. Java를 사용하여 Jasmine을 건너 뛰고 jaskins에서 jasmine 테스트를 시작하는 것을 선호합니다. 젠킨스 플러그인 요청을해야하는 것 같습니다. – finneycanhelp

6

나는 이전에 제대로 자스민 테스트를 실행 Node.js를 몇 노드 모듈을 필요로 물론이 솔루션 jasmine-node

라는 Node.js를 플러그인 테스트를 실행하여이 문제를 해결했습니다. 테스트를 실행하는 실제 브라우저는 없지만 jsdom이라는 모듈을 사용하는 에뮬레이트 된 브라우저는 기본적으로 헤드리스 브라우저를 생성합니다. 특히 테스트가 상호 작용할 수있는 DOM입니다.

jQuery, 언더 스코어 및 기타 모듈에도 노드 모듈이 있으므로 테스트 할 수도 있습니다. 브라우저에서 테스트를 실행하려면 전체 브라우저 에뮬레이션을 건너 뛸 수 있지만 자동화 된 젠킨스 테스트와 비교할 때 너무 성가신 경우가 있습니다.

jasmine-node는 JUnit 테스트 보고서를 생성합니다. Jenkins는 Jenkins가 잘 해석 할 수 있습니다.

이 과정을 쉽게 할 수있는 jenkins-jasmine-node 플러그인이 있다는 것을 깨달았습니다.

8

Jasmine Reporters도 해결책이 될 것이다. 예를 들어 PhantomJS를 통해 헤드리스로 실행하기위한 지침이 있으며, Jenkins XML을 생성하여 Jenkins가 테스트 결과를 기본적으로 이해하고 테스트 횟수, 지속 시간 및 실패를 그래프로 볼 수 있습니다.

또한 xvfb와 함께 제공되는 "xvfb-run"래퍼가 큰 도움이되므로 진정한 헤드리스 환경에서 "xvfb-run phantomjs.runner.sh ..."를 수행 할 수 있습니다.

1

그런트은 툴툴 거리는 소리 jasimine와 친구

가이 설정을 가지고 그것은 정말 좋은 데요 사용 nodejs 젠킨스에 http://nodejs.org/

  • https://github.com/gruntjs/grunt-contrib-jasmine
  • , 더하기 이것은 당신에게 당신의 서버 구축, 배치, 단위 테스트 등 기타 좋은 것들을 할 수 있습니다. 다른 좋은 것들을 알고 있습니다.

  • +0

    "빌드 서버가"... ... "과 같은 다른 좋은 일을 시작하게하십시오. –

    +0

    배포, 유닛 테스트 등 알다시피, 다른 좋은 것들 – aqm

    관련 문제