sinonjs stup多个ajax请求

时间:2017-08-30 07:40:15

标签: javascript ajax promise sinon testcase

我是使用sinonjs编写测试用例的新手

我有一个场景,两个用于显示值的ajax请求。 例: 我只是在这里编写示例代码格式而不是实际代码。

Javascript代码:

function A(){
   test.ajaxPromise(url)
   .then(function(res) {
     B(res);
   }).catch(function() {
    showErrorMsg('Please enter a valid postcode');
  });
}

function B(res){
    test.ajaxPromise(url)
   .then(function(res) {
     document.getElementById('test').innerHTML = res.code;
   }).catch(function() {
    showErrorMsg('Please enter a valid postcode');
  });
}

我尝试编写集成测试用例,我也在使用phantomjs。但是我有两个ajax promise函数,两个函数都返回不同的值。如果我有一个ajaxpromise功能意味着它工作正常。

测试用例代码:

var stupAjaxPromise = function(data) {
    sinon.stub(test, 'ajaxPromise', function() {
        return {
            then: function(cb) {
                cb({
                    response: data
                });
                return {
                    catch: function() {
                    }
                };
            }
        };
    });
};

beforeEach(function() {
    var placeholder = document.createElement('div');
    placeholder.id = 'test';
    placeholder = document.createElement('div');
    document.body.appendChild(placeholder);
    stupAjaxPromise(sampleData);
});

it ('Check Value', function(){
    var container = document.getElementById('test');    
    assert.equal('£50', container.innerText, 'Value not match');
});

任何人都可以帮忙解决这个问题。或者给出一些想法来解决它。

0 个答案:

没有答案