我看到很多关于如何在角度2+中单元测试简单组件的示例,但是当涉及到测试使用服务的组件时,维护测试床提供者和导入变成了一场噩梦。 我怎么能避免它?
例如我有myComponents,他使用myService,他使用HttpClient。 要测试myComponent,我必须为myService和HttpClient设置提供程序。 如果我将其他服务添加到myService的构造函数中,我将必须编辑使用此服务的cmoponents的所有测试页。
我不能告诉testbed获取这些模块的默认依赖项吗?
答案 0 :(得分:1)
问题源于错误的测试方法。单元测试是关于测试单个单元。
在这种情况下
myComponents,使用myService,使用HttpClient。要测试myComponent,我必须为myService和HttpClient设置提供程序。
它测试的是myComponent
单位。这意味着任何其他单位都应该被模拟或存根,包括myService
。
虽然这个
获取这些模块的默认依赖项
被认为不是单位,而是整合/ e2e测试。