Как мне заставить Йомен постоянно проводить тесты

Когда я запускаю сервер grunt, мои файлы редактируются, и браузер обновляется через функцию загрузки. Когда я запускаю тест grunt, он запускается один раз и выключается.

Это поведение можно моделировать, запустив

yo angular --minsafe mytest
grunt test

Когда я изменяю karma.unit.singlerun = false в файле Grunt, тест grunt теперь говорит о том, что наблюдатель работает, но никакие изменения в файлах, похоже, снова не запускают тесты.

Как получить возможность перезагрузки с помощью тестов, аналогичных тому, как работает linemanjs?

Ответ 1

Ты был почти там! В дополнительном параметре, который вы можете установить в файле Grunt с именем 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

Я настроен следующим образом

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

Он стоит, но не может перезапускать unit test, когда я меняю файлы, 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 не может распознать эти изменения.