Gruntjs Karma.conf.js不存在

Gruntjs Karma.conf.js不存在,gruntjs,yeoman,karma-runner,Gruntjs,Yeoman,Karma Runner,我刚刚从头重新安装了node。我还安装了yeoman、generator angular和karma 使用yo生成项目后,我可以成功地grunt-service。但是,每当我尝试grunt测试时,都会抛出以下错误: karma.conf.js不存在 然而,karma.conf.js确实存在于生成的测试目录中。为什么会发生这种情况?Gruntfile.js指根目录中的karma.conf.js。 角度生成器将其放在test目录中,因此需要更新Gruntfile.js // Test setting

我刚刚从头重新安装了node。我还安装了
yeoman
generator angular
karma

使用
yo
生成项目后,我可以成功地
grunt-service
。但是,每当我尝试
grunt测试时,都会抛出以下错误:

karma.conf.js不存在


然而,
karma.conf.js
确实存在于生成的测试目录中。为什么会发生这种情况?

Gruntfile.js指根目录中的karma.conf.js。 角度生成器将其放在test目录中,因此需要更新Gruntfile.js

// Test settings
karma: {
  unit: {
    configFile: 'test/karma.conf.js',
    singleRun: true
  }
}
使用生成的karma.conf.js运行grunt测试时也会出现问题。它会说

test/karma.conf.js:63
    colors: true,
    ^^^^^^
ERROR [config]: Invalid config file!
  SyntaxError: Unexpected identifier

原因:“singleRun:false”后缺少逗号。

我也有这个问题,但我使用的是CoffeeScript。原来karma.conf.js的咖啡脚本并没有被创建。karma.conf.coffee被正确地放置在测试文件夹中,但它没有被编译。所以在我的gruntfile(在咖啡任务下)中,我替换了这个

  test: {
    files: [{
      expand: true,
      cwd: 'test/spec',
      src: '{,*/}*.coffee',
      dest: '.tmp/spec',
      ext: '.js'
    }]
  }
用这个

      test: {
    files: [{
      expand: true,
      cwd: 'test/spec',
      src: '{,*/}*.coffee',
      dest: '.tmp/spec',
      ext: '.js'
    },
    {
      expand: true,
      cwd: 'test',
      src: 'karma.conf.coffee',
      dest: 'test',
      ext: '.conf.js'
    }]
  }
我所做的只是确保karma.conf.coffee在测试目录中编译

这是可行的,但我仍然会出错,因为在karma.conf.coffee中,一些文件的扩展名不正确('cs'而不是'coffee'),尤其是这3行

  'app/scripts/**/*.cs'
  'test/mock/**/*.cs'
  'test/spec/**/*.cs'
我只是将扩展名改为coffeescript(并删除了mock文件夹,因为我没有使用它)


之后,构建和测试工作开始了。我是新来的约曼人,所以我不确定这是否可以轻易避免,但这是我必须做的事情,以使事情顺利进行。

在我的情况下,我甚至没有找到karma.conf.js。然而,我意识到如果你这样做

grunt --force
你将能够得到更多的信息,你可能会得到里面发生的事情

Running "karma:unit" (karma) task
08 09 2015 13:16:33.928:WARN [plugin]: Cannot find plugin "karma-phantomjs-launcher".
  Did you forget to install it ?
  npm install karma-phantomjs-launcher --save-dev
08 09 2015 13:16:33.939:WARN [plugin]: Cannot find plugin "karma-jasmine".
  Did you forget to install it ?
  npm install karma-jasmine --save-dev
Warning: No provider for "framework:jasmine"! (Resolving: framework:jasmine) Used --force, continuing.
最后,我终于发现我错过了什么


希望有帮助。

您是否安装了
bower
npm安装
?是的--yeoman(或者更准确地说,生成器角度)在生成脚手架时自动执行此操作。。。“我完成了。运行bower install&npm install以安装所需的依赖项。如果失败,请尝试自己运行该命令”。同样的错误,令人讨厌!一旦我添加了业力,这就奏效了。npm安装karma另外,如果使用--coffee命令生成angular,则必须将Gruntfile karama.conf.js更改为karma.conf.coddee
Running "karma:unit" (karma) task
08 09 2015 13:16:33.928:WARN [plugin]: Cannot find plugin "karma-phantomjs-launcher".
  Did you forget to install it ?
  npm install karma-phantomjs-launcher --save-dev
08 09 2015 13:16:33.939:WARN [plugin]: Cannot find plugin "karma-jasmine".
  Did you forget to install it ?
  npm install karma-jasmine --save-dev
Warning: No provider for "framework:jasmine"! (Resolving: framework:jasmine) Used --force, continuing.