2013-05-08 3 views
1

저는 재스민에 초보자입니다. 잘못된 질문을하는 경우 저를 교정하십시오.재즈민의 모듈성이 더 우수합니다.

많은 자바 스크립트 코드가있는 레거시 시스템에서 작업하고 있습니다. 같은 테스트를하고 싶습니다. 처음에는 버스터를 사용하는 것에 대해 생각 했었습니다. 베타 버전이기 때문에 그것에 대해별로 탐구하지 않았습니다. 검색하는 동안 나는 재스민을 발견했다. jasmine에서 테스트를 작성하는 것은 간단했습니다. maven plugin은 jasmine을 CI와 통합하여 커버리지 리포트를 얻을 수도 있습니다. 그래서 나는 재스민을 사용하는 것을 느꼈다.

현재의 레거시 시스템에는 여러 개의 j가 있으며, 많은 리팩토링이 필요합니다. 하지만 몇 가지 시험을 시작하는 것. 도움이 필요해. 내가 직면 한 문제를 이야기 해 보겠습니다.

우리는 많은 함수 이름과 전역 변수 등을 갖는 많은 스크립트를 가지고 있습니다. 따라서 pom 또는 jstestconf 파일에서 jsSource를 지정하는 것은 번거롭고, 파일을 거의 제외해야하는 경우가 있습니다. 테스트가 필요한 스크립트에는 충돌하는 함수 이름이있을 수도 있습니다. 또한 일부 스크립트는 다른 스크립트 등에 종속되어있을 수 있습니다.

재 스민에서 아래의 시나리오를 달성 할 수있는 방법이 있습니까?

Test1.js

  • 그리고 쓰기 시험

을 테스트하는 데 필요한 자바 스크립트 (Source1.js) 소스를 포함하면 일반적인 제외하고, 특정 라이브러리를 포함 Test2.js

  • Include sp 제외 ecific 라이브러리, 공통
  • 테스트
  • 그리고 쓰기 시험을 우리가 말할 필요가 클래스를 포함 JUnit을의 유사

뭔가를 을 테스트하는 데 필요한 자바 스크립트 소스 (Source2.js)을 포함하면 테스트해야합니다.

초기 검색 중 일부는 requirejs를 사용하여 알아낼 수 있습니다. 그러나 나는 구체적인 예를 찾을 수 없었다.

계속 진행하기 전에 의견이 필요합니다. 또 다른 테스트 프레임 워크로는 메이븐 & eclipse와 테스트 모듈의 모듈성이 잘 조화 된 테스트 프레임 워크가 있습니다.

+0

당신은 받는다는에 대한 질문을 포즈를 고려해 볼 수 있습니다 예를 들어 (당신이 node_modules이 있고 다른 파일이 my-application-root 미만 가정 별도로 일식 통합?그러나 빠른 검색은 일식과 함께 카르마를 통합하려는 노력이 있음을 보여줍니다. http://litebyte.net/blog/how-to-run-karmajs-from-eclipse/; https://github.com/karma-runner/maven-karma-plugin – ossek

답변

0

자스민 테스트를 실행하기 위해 Karma을 사용했으며 karma.conf.js files property을 통해 포함 된 파일을 지정할 수 있습니다. 따라서 Test1.js와 Test2.js에 대해 두 가지 구성을 설정할 수 있습니다. 설정 1

:

module.exports = function(config){ 
    config.set({ 
    basePath : './', 

    //files to load in the browser 
    files : [ 
    'my-application-root/specific-library-1.js', 
    'my-application-root/Source1.js', 
    'my-application-root/test/Test1.js', 
    'my-application-root/node_modules/**/*.js' 
    ], 

    exclude : [ 
    'my-application-root/common-lib.js', 
    'my-application-root/specific-library-2.js', 
    ], 

....... 

및 구성 2 :

module.exports = function(config){ 
    config.set({ 
    basePath : './', 

    //files to load in the browser 
    files : [ 
    'my-application-root/specific-library-2.js', 
    'my-application-root/Source2.js', 
    'my-application-root/test/Test2.js', 
    'my-application-root/node_modules/**/*.js' 
    ], 

    exclude : [ 
    'my-application-root/common-lib.js', 
    'my-application-root/specific-library-1.js', 
    ], 

....... 
관련 문제