需要使用jasmine获取文件路径



我有一个要求,我需要得到文件名。

我看到了返回spec.js描述的jasmine.getEnv().currentSpec.description。同样,我需要得到spec.js的全路径。是否可以获取文件路径?

jasmine不提供对正在运行规范的文件的引用。env(来自getEnv())对象只提供有关规格和套件的信息,而不提供文件。

您可以通过在文件本身中使用__filename全局变量来获得对文件完整路径的引用。例如:

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

下面是env对象的摘要:

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

最新更新