当我的组件是这样的
export OldComponent {
@input required!: string;
}
我可以像这样准备单元测试:
fixture = TestBed.createComponent(OldComponent);
component = fixture.componentInstance;
component.required = 'test';
fixture.detectChanges();
现在我们有了输入信号(Angular 17)
export NewComponent {
required = input.required<string>();
}
我们如何准备组件以进行测试?这不能编译,因为输入信号是只读的:
fixture = TestBed.createComponent(NewComponent);
component = fixture.componentInstance;
component.required.set('test'); // Does not compile
fixture.detectChanges();
我试着不把它分配给测试,但显然它抛出了:
Error: NG0950: Input is required but no value is available yet. Find more at https://angular.io/errors/NG0950
个
我不想使用正常的、不需要的输入的解决方法:
input<string>('default value')