2016-09-20 4 views
3

Ich habe eine Anforderung, wo ich Dateinamen benötigen.Müssen Dateipfad mit Jasmin

Ich habe jasmine.getEnv().currentSpec.description gesehen, die spec.js Beschreibung zurückgibt. In ähnlicher Weise muss ich erhalten spec.js vollständigen Pfad. Ist es möglich, Dateipfad zu bekommen?

Antwort

3

jasmine bietet keinen Verweis auf die Datei, aus der eine Spezifikation ausgeführt wird. Das Objekt env (von getEnv()) bietet nur Informationen zu den Spezifikationen und Suites, aber nicht zu den Dateien.

Sie können einen Verweis auf den vollständigen Pfad der Datei erhalten, indem Sie die globale Datei __filename in der Datei selbst verwenden. Zum Beispiel:

const jasmine = require('jasmine-node'); 
console.log(__filename); 

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

ist Nachfolgend finden Sie eine Zusammenfassung der env Objekt:

{ 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] }