最近、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 は使用していません。