我如何让Yeoman继续进行测试

时间:2013-08-24 03:21:02

标签: gruntjs yeoman

当我运行grunt服务器时,我的文件编辑被选中,浏览器通过livereload刷新。 当我运行grunt测试时,它运行一次并关闭。

可以通过运行

来模拟此行为
yo angular --minsafe mytest
grunt test

当我在Gruntfile中更改karma.unit.singlerun = false时,grunt测试现在表示观察程序正在运行,但是没有文件更改似乎会再次触发运行测试。

如何通过类似于linemanjs工作方式的测试获得重载功能?

2 个答案:

答案 0 :(得分:16)

你快到了!您可以在名为autoWatch的Gruntfile中设置一个附加选项,该选项监视karma.conf.js中指定的文件以进行更改。 Gruntfile中的完整条目可能如下所示:

karma: {
  unit: {
    configFile: 'karma.conf.js',
    singleRun: true,
    autoWatch: false
  },
  server: {
    configFile: 'karma.conf.js',
    singleRun: false,
    autoWatch: true
  }
}

答案 1 :(得分:0)

我设置如下

karma: {
      unit: {
        configFile: 'karma.conf.js',
        singleRun: false,
        autoWatch: true
      }
    }

当我更改文件时,它无法重新运行单元测试,grunt karma:unit output

PhantomJS 1.9.7 (Linux) Controller: MainCtrl should attach a list of awesomeThings to the scope FAILED
        Expected 3 to be 100.
PhantomJS 1.9.7 (Linux): Executed 1 of 1 (1 FAILED) ERROR (0.04 secs / 0.014 secs)

找到它:我在Virtual中使用共享文件夹并在虚拟机外部更改它,以便autoWatch无法识别这些更改。