0
私のイオンアプリのユニットテストはJasmine
です。私は、ファイルのアップロードを処理するサービス機能を持っています。スコープがJavaScript内の関数内にある厄介なスコープをテストする
fileUpload(filePath: string,apiEndpoint: string){
const fileTransfer = new Transfer();
let fileName = filePath.substr(filePath.lastIndexOf('/') + 1);
let options = Object.assign(this.httpHeader(),{chunkedMode: false, fileName: fileName});
return fileTransfer.upload(filePath, apiEndpoint, options)
.then((data) => {
return data;
}).catch(this.handleError);
}
fileTransfer
の範囲は、関数内にあるので、テストに使用できません。 fileTransfer.upload
の呼び出しは、cordova
ライブラリであるため、関数内で失敗します。
it('updateImage updates the image of user',(done)=>{
auth.fileUpload("path","url").then((data)=>{
done();
})
})
考えられる解決策は、this.fileTransfer = new Transfer();
です。ライブラリを模倣するか、それを傍受する他の方法はありますか?
私はこのエラー ''エラーを取得:を:転送()メソッドは 'あなたから' Transfer'を見つけてください ' –
raj
存在しないのですか?グローバルではない? –
私は私がテストしている私のサービスでそれを持っています。 'ionic-native'から '' import {Transfer} ''; '' – raj