在Angular中进行测试的最佳做法是什么?

时间:2018-10-11 03:17:54

标签: angular testing angular-test

我有一个AppComponent,在它的html模板中,我有BannerComponentWelcomeComponent(由<app-banner><app-welcome>表示)。 因此,在测试用例中,如果我声明了真正的组件,则还必须声明它们的嵌套组件,并提供注入到树中任何组件中的所有服务。 推荐的做法是什么?我可以只使用imports: [ AppModule ]还是声明所有组件及其嵌套组件以及注入其中的所有服务?

如果我只是导入AppModule,它将使用真实的RouterModule(如果由AppModule使用)还是可以仅使用RouterTestingModule覆盖它?

如果我声明了所有组件,将使我更好地了解被测组件与所有其他从属组件的集成良好。这是一个好习惯吗?另外,使用APP_ERRORS_SCHEMA是一个好习惯吗?

1 个答案:

答案 0 :(得分:0)

我们创建一个TestModule来声明测试组件的所有依赖关系,在那里我们为组件将在其模板中使用的所有选择器声明MockComponents。这些模拟组件大多数都在模板中包含文本,但是如果我们需要它们来呈现DOM对象,则其中一些会做得更多。

有时候,我们只是在spec文件中声明其他组件,如果它们很简单并且没有依赖性。