簡體   English   中英

Angular 單元測試:Karma-Jasmine:('onChange',(changeEvent:MatRadioChange):void 類型的參數不可分配給類型的參數

[英]Angular Unit Testing : Karma-Jasmine : ('onChange', (changeEvent: MatRadioChange) : Argument of type void is not assignable to parameter of type

您好正在為我用來發出事件的調用進行一項測試:

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將 object 轉換為any類型,它應該足以滿足MatRadioChange類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM