とのユニットテストのXMLHttpRequest私は、以下の機能を持っている、(私はノイズを取り除くためのコードを省略しました)ジャスミン、約束
CodeApiClient.prototype = {
get: function(endpoint, paramStr, headers){
var defer = new Q.defer();
var start_time = new Date().getTime();
var req = new XMLHttpRequest();
var url = endpoint + (paramStr.indexOf('?') !== -1 ? paramStr : '?' + paramStr);
req.open('GET', url);
req.onload = function() {
var request_time = new Date().getTime() - start_time;
// This is called even on 404 etc
if (req.status < 400) {
var response = JSON.parse(req.response)
response.__request_time = request_time;
defer.resolve(response);
} else {
// Otherwise reject with the status text
defer.reject(Error(req.statusText));
}
};
}
私の質問は次のとおりです。getConfigのジャスミンテスト、つまり応答を偽装し、基になるXMLHttpRequestをスタブするにはどうすればよいですか? これはsinon.jsに対応しています。私はそれが$アヤックスにコールバックスタブことができます知っているが、これはここではJavaScript、ノー角度など
あなたの例では、エラーを与えるのに役立ちます願っています。エラー::get()メソッドはありませんが存在しない 使用法:node_modules/jasmine-core/lib/jasmine-coのspyOn(
私は今この回答を投票しました。私の実際のコードに彼の答えをリファクタリングして、私は今フルモックなどの作業ユニットテストをしています。寒い冬の兵士: - ) – Rory
私はあなたを助けることができてうれしいです。エラーを取り除くために、答えbtwを編集しました。投票ありがとう。 –