2017-09-07 4 views
2

Jasmine은 단일 디렉토리에서 스펙을 실행하도록 설정됩니다. 다중 스펙 디렉토리에서 테스트를 찾아 실행하도록 설정되지 않았습니다. 다음은 프로젝트 구조입니다.여러 테스트 디렉토리에서 재스민 스펙을 실행하는 방법

project root:/
    package.json 
    spec 
     --> jasmine_examples 
    module_a 
     --> spec 
    module_b 
     --> spec 
    module_c 
     --> spec 

각 모듈에서 테스트를 실행하려면 각 사양 파일을 지정해야합니다.

"spec_files": [ 
     "module_a/spec/spec.js", 
     "module_b/spec/spec.js", 
     "module_c/spec/spec.js" 
    ], 

이렇게하면 jasmine cli를 실행할 수 있지만 확장 할 수는 없습니다. 더 좋은 방법이 있어야합니다. 필자는 스펙이 포함 된 모든 모듈을 수동으로 지정하지 않아도됩니다. 나는 모든 디렉토리를 재귀 적으로 검색하도록하고 싶다.

저는 JSDom, 카르마 또는 헤드리스 브라우저를 사용하는 노드에서만이 코드를 실행합니다.

또한 소스 루트에서 사양 파일을 분리해서 할 수
+0

'module_a/spec/*. js' 또는'module_a/**/*. js'을 사용해 보셨나요? –

+0

같은 문제가 떠오른다 고 생각합니다. 사양을 포함하는 각 모듈을 수동으로 추가해야합니다. – nullsteph

+0

그런 다음'*/spec/*. js' 어쩌면 –

답변

1

("") 다음 재스민은 루트에서 시작하여 하위 디렉토리를 탐색합니다.

그러면 문제는 node_modules 디렉토리도 포함됩니다. 따라서 거기에있을 가능성이 매우 낮은 spec_files의 사양 패턴을 사용해야합니다. ["**/*.[sS]pec.js"]을 사용했는데 내 스펙 파일 인 module_a.spec.js의 이름을 지정했습니다.

{ 
    "spec_dir": "", 
    "spec_files": [ 
    "**/*.[sS]pec.js" 
    ], 
    "helpers": [ 
    "helpers/**/*.js" 
    ], 
    "stopSpecOnExpectationFailure": false, 
    "random": false 
} 
0

상응하는 폴더 구조/테스트하기 (SRC/될 일) :

project root:/
package.json 
spec 
    --> jasmine_examples 
src/ 
    module_a 
    module_b 
    module_c 
test/ 
    module_a 
    module_b 
    module_c 

을 다음 자스민 설정에 같은 사양 파일을 정의 : 당신이 따옴표를 사용하여 루트로 "spec_dir" 속성을 변경하는 경우

"spec_files": [ 
    "test/**/*.spec.js" 
],