我使用Angular CLI设置了我的项目。我也通过“ng g component NAME”创建了我的组件。这也自动添加了一个测试类来创建我的单元测试(当然非常简洁)。
问题是即使我把它们保持在初始状态,我的测试也会失败。我想在实际编写任何测试之前测试一下。然而,测试失败可怕。没有一行执行得很好。
> ng test
'app-some-selector' is not a known element:
1. If 'app-some-selector' is an Angular component, then verify that it is part of this module.
或者例如
The pipe 'myPipe' could not be found
针对特定组件中的每个对象抛出上述错误。如果通过其选择器使用另一个组件,则无法找到相应的组件,如果通过依赖注入使用http之类的服务,则编译器会声明没有提供者,依此类推。
我的项目与ng serve
顺便说一下运行得很好。
答案 0 :(得分:2)
当您通过angular-cli创建组件时,它会为您创建
it('should create', () => {
expect(component).toBeTruthy();
});
第一个测试尝试创建一个组件,如果你添加一个dependancie,其他组件例如,它就会掉落。
要通过此测试,您需要更新在beforeEach
函数中在测试类中创建组件的方式:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ myComponent ],
providers: [myService]
})
.compileComponents();
}));
如果我在组件测试依赖注入中添加服务myService
。像这样,您可以更轻松地将模拟对象作为myService
来测试您的组件。