angular-cli - 使用多个 karma.conf.js

angular-cli - Use multiple karma.conf.js

我正在使用 angular-cli,我想使用两个 karma.conf.js 文件进行测试。

  1. 对于 CI :我正在使用 Headless Chrome

    自定义启动器:{

      ChromeHeadless: {
        base: 'Chrome',
        flags: [
          '--headless',
          '--disable-gpu',
          // Without a remote debugging port, Google Chrome exits immediately.
          '--remote-debugging-port=9222',
        ],
      }
    }
    
  2. 对于 Dev:我正在使用 Chrome。

有什么方法可以根据参数值在两个 karma.conf.js 之间切换。

您可以使用选项 karmaConfig

ng test --karmaConfig=another-karma.config.json

您可能需要检查 ng test --help=true 以了解其他选项。

Angular CLI v6 中,选项名称已更改:ng test --karma-config <your config here>

要运行一个特定的配置文件,你可以使用

karma start path/to/config_file/from/root

所以你可以创建一个名为 karma.chromeheadless.js 的文件,一个名为 karma.chrome.js 和 运行 的文件

karma start karma.chromeheadless.js
karma start karma.chrome.js

比这更好的是,您可以在 package.json 文件中添加一些脚本

"scripts": {
  "chromeheadless": "karma start karma.chromeheadless.js",
  "chrome": "karma start karma.chrome.js",
},

然后 运行 它与

yarn run chromeheadless
yarn run chrome

可能会根据您的包管理器将 yarn 替换为 npm。第二种方法的优点是不需要全局安装 karma。打字时间可能会短一些。如果你使用纱线,我想你甚至可以从命令中排除 运行 这个词。