代码之家  ›  专栏  ›  技术社区  ›  Dennis Burton

如何让Yeoman持续运行测试

  •  10
  • Dennis Burton  · 技术社区  · 12 年前

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

    这种行为可以通过运行

    yo angular --minsafe mytest
    grunt test
    

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

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

    2 回复  |  直到 12 年前
        1
  •  16
  •   passy Erik Hinton    12 年前

    你就快到了!你可以在Gruntfile中设置一个额外的选项,名为 autoWatch ,它监视在 karma.conf.js 以进行更改。在您的 Gruntfile 可能看起来像这样:

    karma: {
      unit: {
        configFile: 'karma.conf.js',
        singleRun: true,
        autoWatch: false
      },
      server: {
        configFile: 'karma.conf.js',
        singleRun: false,
        autoWatch: true
      }
    }
    
        2
  •  0
  •   o0omycomputero0o    12 年前

    我设置如下

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

    它是有效的,但当我更改文件时无法重新运行单元测试,咕哝着karma:单元输出

    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)
    

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

    推荐文章