2016-06-17 12 views
2

AngulaJsアプリで分度器を介してjQuery.ajaxリクエスト(剣道UIのデータソースのために呼び出される)をモックすることは可能ですか?分度器mocking jQuery ajax

使用されるスクリプト/フレームワークなど

  • 分度器
  • jQueryの
  • 私は

    (嘲笑を取得AJAX要求なし)スクリプトを次のように試してみました

jsdom

  • Mockjax
    var jsdom = require("jsdom"); 
    var jQuery; 
    var mockjax; 
    
    jsdom.env("", function(err, window) { 
        if (err) { console.error(err); return; } 
        jQuery = require("../jquery-2.2.4.js")(window); 
        mockjax = require('../jquery.mockjax.js')(jQuery, window); 
    }); 
    
    describe('Websuite: TemplateTest', function() { 
    
        beforeEach(function(){ 
         jQuery.mockjax({ url: "/XYZ/GetMails" }); 
        }); 
    
        it('some mocking test', function() { 
    
         browser.get('https://localhost:44300/#/dat/templateTest');  
    
         browser.pause();   
    
        }); 
    
    }); 
    

    (私たちは$ HTTP & $ httpBackendで行ったように)私は、私はあなたとあなたのWebアプリケーションにこのモックを注入する必要があると思う

  • 答えて

    1

    分度器でjQuery.ajaxコールを模擬することも可能である場合でも、わかりませんbrowser.addMockModule。その後、jqueryのajaxリクエストが嘲笑されます。

    browser.addMockModule('httpBackendMock', function() { 
        angular.module('httpBackendMock', []) 
        .run(function() { 
         /** 
         * I assume your web application has jQuery mockjax library for testing. 
         * If doesn't exist, you need to inject/include jquery mockjax library into your web application. 
         **/ 
    
         jQuery.mockjax({ url: "/XYZ/GetMails" }); 
        }); 
    }); 
    

    このモックモジュールを注入すると、リクエストは疑似応答されます。

    私はこれがうまくいきたいと思います。

    +0

    残念ながら、それは動作しません、ちょうどタイムアウト –