12

我正在使用 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. 对于开发人员:我正在使用 Chrome。

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

4

3 回答 3

21

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

于 2018-05-21T14:08:38.493 回答
15

您可以使用选项karmaConfig

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

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

于 2017-08-30T06:11:06.500 回答
0

要运行特定的配置文件,您可以使用

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

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

于 2020-07-15T15:08:45.367 回答