Angular 13多入口点代码覆盖



我有一个用@angular搭建的工作空间/cli@13.0.1如果我运行ng test <main project name>,它会将每个入口点的所有测试组合到一个捆绑包中,并一次运行所有测试。这太棒了,只需要大约30秒。不过,我不知道如何从这种类型的测试运行中收集覆盖率。

我能得到的最接近的方法是为angular.json中的每个入口点定义一个测试架构师,但为每个入口点构建一个浏览器捆绑包最终会花费大量时间,因为这个库有大约41个入口点。同样,使用这种方法,读者仍然可以将所有这些报道聚合到一个单独的报告中,作为额外的步骤。

有人有从一个有多个入口点的库中收集和聚合代码覆盖率的例子吗?

经过一番挖掘,我发现我只需要将projects.<main-project>.sourceRoot设置为projects/<main-project>,而不需要在angular.json中设置projects/<main-project>/src。这导致整个回购被捆绑一次,所有测试都运行,与孤立地进行每个进入点然后尝试聚合覆盖率相比,覆盖率在很短的时间内收集。

最新更新