角度单元测试:Karma-Jasmine : ('onChange', (changeEvent: MatRadioChange) : 类型为 void 的参数不能分配给类型的参数



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类型的要求。

相关内容