2016-10-07 4 views
0

「undefinedはコンストラクタではありません」スロー:ジャスミン.toHaveBeenCalledTimesは、私は、次のユニットテストを持っているエラー

describe('shouldDeleteLogos',() => { 
    beforeEach(() => { 
     productService.product.project.parts['Logo'] = { 
     name: 'Logo' 
     }; 
     productService.product.project.parts['Accent'] = { 
     name: 'Accent' 
     }; 
    }); 

    it(`should only call deleteLogos once if the part was provided to the method`,() => { 
     let part: Part = new Part(); 
     part.name = 'Logo'; 
     spyOn(creationSpacePSTLInstance, 'deleteLogos'); 
     creationSpacePSTLInstance.shouldDeleteLogos(part); 
     expect(creationSpacePSTLInstance.deleteLogos).toHaveBeenCalledTimes(1); 
    }); 
}); 

しかし、私は、私は次のエラーを取得するテストを実行すると、ここで間違っている何TypeError: undefined is not a constructor (evaluating 'expect(creationSpacePSTLInstance.deleteLogos).toHaveBeenCalledTimes(1)')

を?私はその方法について詮索してきたので、それは一度だけ呼ばれたことをテストしたい。ドキュメントに基づいて、これは動作するはずです。それはちょうど.toHaveBeenCalled();で動作します。ただ時間引数ではありません。

ここに私が使用しているJasmineとKarmaのバージョンがあります。

"jasmine-core": "2.3.4" 
"karma": "0.13.22", 

答えて

2

toHaveBeenCalledTimes()Jasmine 2.4で導入されました。あなたがアップグレードする場合、それはそれを修正する必要があります。

関連する問題