使用singleRun = false和autoWatch = false

时间:2018-12-10 18:50:41

标签: javascript jasmine automated-tests karma-runner

大多数时候,我希望测试套件像大多数系统一样运行和退出,因此我的karma.conf.js具有以下设置:

autoWatch: false
singleRun: true

我的package.json有:

"scripts": {
  "test": "NODE_ENV=test ./node_modules/.bin/karma start"
}

我正在运行无头Chrome,因此这使我可以只运行yarn test,效果很好。

但是有时候当我大量使用JS时,我想要一个更紧密的反馈循环。由于Karma使用的是真正的Web浏览器,因此我的测试甚至需要大约8秒钟的启动时间才能运行,这很烦人。

我知道Karma具有客户端/服务器模型来解决此问题,但是我不清楚如何运行它。如果我用singleRun覆盖了yarn test --singleRun=false,似乎启动了服务器并坐在那里等待运行测试。但是我无法弄清楚如何真正开始测试。我以为karma run,但如果我尝试这样做,它也会坐在那儿什么也没做。

关于我能做的最好的事情就是也用yarn test --singleRun=false --autoWatch=true启用自动监视。借助此功能,我可以随时保存一个测试文件,它可以运行测试套件。通常可以,但是我喜欢我的文本编辑器自动保存,因此有时在工作中会保存语法错误。理想情况下,我宁愿自己踢一下。

0 个答案:

没有答案