在Angular中,共享模块是一个可重用的模块,它可以在多个模块中共享组件、指令、管道等功能。在测试共享模块中定义的组件时,我们需要在测试文件中导入共享模块,并创建组件的实例。
下面是一个示例,演示如何测试在共享模块中定义的组件:
shared.module.ts
:import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedComponent } from './shared.component';
@NgModule({
declarations: [SharedComponent],
imports: [CommonModule],
exports: [SharedComponent]
})
export class SharedModule { }
shared.component.ts
:import { Component } from '@angular/core';
@Component({
selector: 'app-shared',
template: 'Shared Component
'
})
export class SharedComponent { }
shared.component.spec.ts
:import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { SharedModule } from './shared.module';
import { SharedComponent } from './shared.component';
describe('SharedComponent', () => {
let component: SharedComponent;
let fixture: ComponentFixture;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [SharedModule]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(SharedComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
在这个示例中,我们首先导入了SharedModule
,然后在beforeEach
中使用TestBed.createComponent
创建了SharedComponent
的实例。
在测试用例中,我们简单地判断组件实例是否存在,以验证组件的创建。
这样,我们就可以测试在共享模块中定义的组件了。