【问题标题】:gulp task can't find karma.conf.jsgulp 任务找不到 karma.conf.js
【发布时间】:2015-08-05 23:39:39
【问题描述】:

我正在尝试通过 gulp 任务运行业力测试。我使用https://github.com/karma-runner/gulp-karma,由于某种原因,gulp 无法找到我的 karma.conf.js。该文件与 gulpfile 位于同一文件夹中。项目的根。无论我放置什么路径,我都会收到相同的错误 File ./karma.conf.js 不存在。我无法弄清楚如何正确路径。这是 gulp 任务的代码。

gulp.task('tdd', function (done) {
  new Server({
    configFile: 'karma.conf.js'
  }, done).start();
});

【问题讨论】:

    标签: gulp karma-runner gulp-karma


    【解决方案1】:

    这就是我使用 Gulp 处理业力的方式(并且两个文件都在同一个根目录中)。

    var karma = require('karma');
    
    gulp.task('karma', function (done) {
      karma.server.start({
        configFile: __dirname + '/karma.conf.js'
      }, done);
    });
    

    更新

    如果你运行的是 NODE.js,那么

    NODE Explnation for __dirname link

    "当前执行脚本所在目录的名称。"

    如果您没有运行 NODE.js,那么您可能只需要

    configFile: '/karma.conf.js'
    

    但如果您正在运行 NODE,请使用第一个示例。

    【讨论】:

    • __dirname 在哪里定义?如果我这样做,它似乎是不确定的..
    • 我正在使用 gulp,它是一个 Node 应用程序。只需添加 __dirname,就可以像冠军一样工作。节点必须使其可供 gulp 使用。非常感谢!
    • 关于 Gulp 是由 NODE 安装的。你会说这回答了你的问题吗?
    【解决方案2】:

    如果将另一个目标目录分配给__dirname,则它不起作用。 试试这个:

    var Server = require('karma').Server
    gulp.task('test', function (done) {
       new Server({
         configFile: require('path').resolve('karma.conf.js'),
         singleRun: true
       }, done).start();
     });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-24
      相关资源
      最近更新 更多