2016-09-20 2 views
3

파일 이름을 가져올 필요가있는 곳이 있습니다.재스민을 사용하여 파일 경로를 가져와야합니다.

나는 spec.js 설명을 반환하는 jasmine.getEnv().currentSpec.description을 보았습니다. 마찬가지로 나는 spec.js 전체 경로를 얻을 필요가있다. 파일 경로를 가져올 수 있습니까?

답변

3

jasmine은 사양을 실행하는 파일에 대한 참조를 제공하지 않습니다. env (getEnv()) 개체는 파일이 아닌 사양 및 스위트에 대한 정보 만 제공합니다.

파일 자체 내에서 __filename 전역을 사용하여 파일의 전체 경로에 대한 참조를 얻을 수 있습니다. 예를 들어 :

{ currentSpec: 
    { id: 0, 
    env: [Circular], 
    suite: 
     { id: 0, 
     description: 'description for spec', 
     queue: [Object], 
     parentSuite: null, 
     env: [Circular], 
     before_: [], 
     after_: [], 
     children_: [Object], 
     suites_: [], 
     specs_: [Object], 
     exclusive_: 0 }, 
    description: 'should do stuff', 
    queue: 
     { env: [Circular], 
     ensured: [Object], 
     blocks: [Object], 
     running: true, 
     index: 0, 
     offset: 0, 
     abort: false, 
     onComplete: [Function] }, 
    afterCallbacks: [], 
    spies_: [], 
    results_: 
     { totalCount: 0, 
     passedCount: 0, 
     failedCount: 0, 
     skipped: false, 
     items_: [], 
     description: 'should do stuff' }, 
    matchersClass: null, 
    exclusive_: 0 }, 
    currentSuite: null, 
    currentRunner_: 
    { env: [Circular], 
    queue: 
     { env: [Circular], 
     ensured: [Object], 
     blocks: [Object], 
     running: true, 
     index: 0, 
     offset: 0, 
     abort: false, 
     onComplete: [Function] }, 
    before_: [], 
    after_: [], 
    suites_: [ [Object] ] }, 
    reporter: { subReporters_: [ [Object] ] }, 
    updateInterval: 250, 
    defaultTimeoutInterval: 5000, 
    lastUpdate: 0, 
    specFilter: [Function], 
    nextSpecId_: 1, 
    nextSuiteId_: 1, 
    equalityTesters_: [], 
    exclusive_: 0, 
    matchersClass: [Function] } 
: 아래
const jasmine = require('jasmine-node'); 
console.log(__filename); 

describe('description for spec',() => { 
    it('should do stuff',() => { 
    console.log(jasmine.getEnv()); 
    }); 
}); 

env 객체의 요약이다
관련 문제