karma-runner/karma

Inherit working directory from calling process

Open

#2,842 创建于 2017年10月14日

在 GitHub 查看
 (2 评论) (1 反应) (0 负责人)JavaScript (11,918 star) (1,703 fork)batch import
help wanted

描述

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.

贡献者指南