karma-runner/karma

Inherit working directory from calling process

Open

#2842 aperta il 14 ott 2017

Vedi su GitHub
 (2 commenti) (1 reazione) (0 assegnatari)JavaScript (1703 fork)batch import
help wanted

Metriche repository

Star
 (11.918 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Expected behaviour

the working directory for my test runner is my actual working directory

Actual behaviour

the working directory is /

Environment Details

  • Karma version (output of karma --version): 1.7.1
  • karma config
    files: [
      testIndexPath
    ],

    plugins: [
      'karma-coverage',
      'karma-chrome-launcher',
      'karma-jasmine',
      'karma-jasmine-expect-jsx',
      'karma-webpack'
    ],

    preprocessors: {
      [testIndexPath]: ['webpack']
    },

//testIndex file
let context = require.context(path.resolve(process.cwd(), 'src/js/'), true, /\.js$/);
context.keys().forEach(context);

This is how karma-webpack is supposed to be used. However, however, when the file gets loaded by karma, process.cwd() is "/". I would expect it to inherit from the calling process, and also be settable by a configuration option.

Process.cwd() is necessary if you are trying to have a default test index file like my example, and to have it in node_modules. Otherwise I wouldn't know where to look for the code.

Is it possible to add a cwd option to allow setting of the cwd from the node api and the command line? Also, generally it makes more sense for cwd to default to inherit the calling process's cwd.

Guida contributor