2つの入力パラメータを持つAngular 2コンポーネントがあるとします:
@Component{... (omitted for clarity)}
export class SomeComponent {
@Input() a: number
@Input() b: number
}
このコンポーネントをテストしたいとき、私は次のようなものを持っています:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
SomeComponent,
],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(SomeComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
createComponent
呼び出しはパラメーターを受け取らないか、コンストラクターを呼び出すことができません。さまざまな数値のコンポーネントをインスタンス化/テストするにはどうすればよいですか?
JB Nizetが指摘しているように、コンポーネントに@inputパラメータがある場合は、beforeEach()でそれらを初期化する必要があります: `` `
beforeEach(() => {
fixture = TestBed.createComponent(SomeComponent);
component = fixture.componentInstance;
component.a = 1;
component.b = 2;
fixture.detectChanges();
});
`` `