私のAngular 4.0.0アプリ内に、私のコンポーネントで呼び出されたこのメソッドがあります。Jasmine:メソッドコールバックをスパイする方法:method.then()
this.myService.myMethod(param).then(any => {
console.log("success case")
})
.catch(error => {
console.log("error");
}
});
};
iはユニットテストに取り組んでいますので、私はサービスをからかっを経由して、私のコンポーネントを分離しています:
このメソッドは、サービス内で呼び出され、私は次のように、この方法その後、モックよ:
myMethodSpy= spyOn(service, 'myMethod').and.callFake((reg) => {
return Observable.of('always error message');
});
しかし、実行する際に、その私のspyMethodが呼び出されていないようです:
TypeError: this.service.myMethod(...).then is not a function
問題の原因についてのご意見はありますか?
オブザーバブルにはthen()メソッドがありません。約束する。サービスメソッドのドキュメント/コード/戻り値の型を確認し、Promiseを返すことを確認します。あなたのテストで偽の約束を返してください。 –