我们最近开始使用 angular-cli beta 18。根据文档中给出的方向,我们进行了更改以运行我们的测试。截至目前,下面是我们的目录结构
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。