私は分度器でエンドツーエンドのテストを自動化しようとしていますが、私はsinonjsを使用して、ボタンのクリックによってトリガーされる特定のajax呼び出し(すべてではない)に応答するよう設定しています。sinonjsと偽のajax呼び出し
私は立ち往生していて、それについてどうやって動いているのかわからないし、オートメーションの初心者でもありません。私が正しい道にいるかどうかはわかりません。
var sinon = require('sinon');
describe("SinonFakeServerTest", function() {
var fakeServer;
beforeEach(function() {
fakeServer = sinon.fakeServer.create();
fakeServer.autoRespond = true;
var data = {key1: 'xyz', key2: 'abc'};
var response = [ 200, { "Content-Type": "application/json" }, data ];
fakeServer.respondWith('/abc/xyz/*', response);
}
afterEach(function() {
fakeServer.restore();
}
it("should fake a ajax request", function() {
// click on this button triggers ajax call..
element(by.css('.take-button')).click();
//should show fake data on ui
});
});
これは、生産コードはAJAX呼び出しのためのjQueryのを使用していたとき、私はSinonのfakeServer
機能で正常に偽のサーバーではありませんでしボタンクリックコントローラとモデル
'.take-button click' : function(el, ev) {
model.getData(listParams, this.proxy('setUpData'));
},
getList : function(params, success) {
$.ajax({
url : '/abb/xyz/getAll.htm',
dataType : 'json',
type : "GET",
data : {
params : params
},
success : success
});
}
)選択されたAJAX呼び出しをハックするmockjaxを使用してbrowser.executeScript(を通じて、このスクリプトを注入さは本番コード – luboskrnac
@luboskrnacを表示 - 私は、ボタンclick..thanks上で実行されるコードが追加されました!! – zeah