我想在 angular2 中测试一个子组件@output。我想使用这个模拟子组件@output 来激活父组件功能并对其进行测试。
模拟组件并测试所有异步方法。
<wizard-quick-search-page *ngIf="initSearchPanel" [createUserAttributes]="createUserAttributes" [existingUserAttributes]="existingUserAttributes" (edit)="showEditUserPanel($event)"
(create)="showCreateUserPanel($event)">
</wizard-quick-search-page>
Run Code Online (Sandbox Code Playgroud)
@Component({
selector: 'wizard-quick-search-page',
template: '<button class="quick-search-page-submit" (click)="onClick()">Create</button>'
})
class MockQuickSearchPageComponent {
@Output() public create: EventEmitter<any> = new EventEmitter<any>();
public onClick(): void {
console.log('call create');
this.create.emit(true);
}
}
fdescribe('AddUserComponent', () => {
let component: AddUserComponent;
let fixture: ComponentFixture<AddUserComponent>;
let mockQuickSearchComponent: MockQuickSearchPageComponent;
let mockQuickSearchComponentFixture: ComponentFixture<MockQuickSearchPageComponent>;
let createButton: DebugElement;
beforeEach(async(() => {
TestBed.configureTestingModule({
providers: [
{ provide: Language, useClass: MockLanguage }
],
declarations: [
AddUserComponent,
MockQuickSearchPageComponent
],
schemas: [NO_ERRORS_SCHEMA]
})
.compileComponents(); …Run Code Online (Sandbox Code Playgroud)