javascript - 是否可以在没有浏览器的情况下运行 Karma?

标签 javascript angularjs gruntjs yeoman karma-runner

我使用 Yeoman 的 yo angular 启动了一个 Angular.js 应用程序,其中包含 Karma 测试。然后,grunt 测试 合理地失败了,因为 Karma can't find any browsers 。 (浏览器尚未在应用的node_modules/karma配置文件中设置。)

我正在通过 SSH 到远程计算机进行开发,我认为(如果我错了请告诉我)使用 Chrome 是没有意义的,/usr/bin/chromium-browser ,已安装。

那么是否可以在没有任何浏览器的情况下运行 Karma?

最佳答案

我要为此添加我的两分钱。

正确 - Karma 需要浏览器才能运行。但是 - 您可以在 headless 模式下运行 Chrome,这意味着虽然您确实需要安装浏览器,但它不会打开其 UI,因此您可以纯粹通过 SSH session 来运行测试。

我们将此配置用于 CI/CD 部署。我们用于运行测试的 Docker 镜像安装了 Chrome,并且我们使用 Chrome headless 模式运行它们。效果非常好。

要使用此功能,只需修改 karma.conf.js 中的 browsers 属性

browsers: ['ChromeHeadless']

希望这可以帮助那些可能正在寻找类似东西的人......

关于javascript - 是否可以在没有浏览器的情况下运行 Karma?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21895984/

相关文章:

javascript - orderBy 按特定属性的 Angular 顺序

javascript - 嵌套 ngRepeat limitTo 不起作用

pdf - 通过 grunt-contrib-connect 在浏览器中显示 PDF

gruntjs - TypeScript 编译器在 Mac 上失败

javascript - 打印时嵌套 JSON 对象未显示

javascript - 比较两个字符串数组 Javascript 的最快/最有效的方法

javascript - 如何解释 0 和 0.00

javascript - 当用户单击按钮并到达底部或顶部时禁用按钮

css - Grunt compass 和 sass/css 目录

javascript - 如何从 strapi 的上传文件夹中删除文件?