Hi正在为我用来发出事件的调用进行一个测试:
onChange(eventName: MatRadioChange): void {
this.eventName.emit(eventName.value);
}
同样的测试是:
describe('onChange', (eventName: MatRadioChange) => {
it('should emit true to open calendar modal for mobile view', () => {
spyOn(component.eventName, 'emit');
component.onChange(eventName.value);
expect(component.eventName.emit).toHaveBeenCalled();
});
});
我一直收到错误:
Argument of type '(changeEvent: MatRadioChange) => void' is not assignable to parameter of type '() => void'.
describe('onChange', (changeEvent: MatRadioChange) => {
任何帮助都会很棒!
这是一个TypeScript问题。问题就在这一行:
component.onChange(eventName.value);
我假设eventName.value
是一个字符串,而不是MatRadioChange
。
要度过难关,请执行以下操作:
component.onChange({ value: 'abc' } as any);
as any
将对象强制转换为any
类型,它应该足以满足MatRadioChange
类型的要求。