我们最近转向使用angular-cli beta 18.根据docs中给出的指示,我们进行了更改以运行我们的测试 . 截至目前,下面是我们的目录结构

root
-coverage
-src
--app
---component
----mycomp.ts
----mycomp.spec.ts
---lib
----angular
----rxjs
--index.html
--test.ts
--tsconfig.json
-karma.conf.js
-package.json

正如angular-cli文档中所建议的那样,我们使用test.ts来包含所有测试 . 上下文设置行是

.then(()=> require.context('./../src', true, /\.spec\.ts/))

这样可以很好地运行我们的测试,并通过在karma.config中添加以下行来生成代码覆盖率 .

preprocessors: {
'./src/test.ts': ['angular-cli']
            , 'src/app/!(lib|shared|styles)/**/!(*spec).ts': 'coverage'
        },

但是,出于某种原因,它还包括lib / rxjs文件夹的覆盖范围 . 我在上面的配置中尝试过各种组合,但是在排除lib文件夹方面没有取得任何成功 .

任何帮助表示赞赏 .

更多信息 - 我只使用karma-coverage而不是karma-remap-Istanbul .