【发布时间】:2018-09-23 02:25:41
【问题描述】:
我是 Angular 5 应用程序上下文中单元测试的新手。 现在,我正在尝试对一个基本组件进行单元测试。
该组件称为 CardComponent,在该组件的 HTML 中,我将其称为 CheckboxComponent。
这是 CardComponent 的 HTML:
<div>
<p>Test</p>
<jg-checkbox [label]="'Test label'"></jg-checkbox>
</div>
如您所见,没有什么复杂的事情发生。
但是,CheckboxComponent 确实注入了服务。为了这个问题,我就称它为TestService。
所以当我对 CardComponent 进行单元测试时,这里是我的测试平台:
TestBed.configureTestingModule({
declarations: [
CheckboxComponent
]
}).compileComponents();
然后我运行这个测试:
it('should create', () => {
expect(component).toBeTruthy();
});
这只是通过 CLI 创建的默认测试。
但现在,它抱怨说没有 TestService 的提供者。我真的应该注入(和模拟/间谍)吗?
这似乎有点倒退,因为我只关心 CardComponent,我不应该关心 CheckboxComponent,对吧?这就是单元测试的重点。
否则,由于 Angular 具有分层组件,随着应用程序的增长,我可能不得不深入许多层次。
这不可能。
有人可以帮忙解决这个问题吗?感谢您的帮助!
【问题讨论】:
标签: angular unit-testing