在我的本地机器上,我希望npm test
观看文件并重新测试更改,所以我在singleRun: false
中使用karma.conf.js
。
在travis-ci上,这会导致超时错误。如何仅覆盖travis-ci环境的singleRun
选项?
鉴于cli也可用于启用/禁用singleRun,将“--no-single-run”添加到karma cli运行可能会覆盖配置文件...
或者,如果karma.conf.js是一个Javascript文件,你可以将singleRun的设置写为一个函数(例如,它检测一个Travis环境变量)并适当地吐出“false”或“true”吗?
我使用以下解决方案(灵感来自@palfrey)。 Travis运行将CI=true
设置为环境变量。
使用node的process.env
函数将局部变量设置为CI
的值(如果未设置,则设置为false),然后在配置中将其用作singleRun
的值:
karma.conf.js
const ci = process.env.CI || false
module.exports = function(config) {
config.set({
singleRun: ci,
...
}
}