2016-09-08 4 views
0

私は、角錐アプリケーションと角度アプリケーションでいくつかのエンドツーエンドテストを書いています。私は現在、角モックを使っていくつかのHTTPレスポンスを模擬しようとしており、わからないスコープの問題に遭遇しています。

var protractor = require('protractor'); 
var ngMockE2E = require('ng-mock-e2e'); 
var testData = require('./e2e-data.json'); 

describe('DataEater', function() { 
    var $httpBackend = ngMockE2E.$httpBackend; 
    var appUrl = browser.baseUrl + 'scheduler/data-eater/'; 
    var self = this; 
    self.testData2 = require('./e2e-data.json'); 
    beforeEach(function() { 
     browser.get(appUrl); 
     ngMockE2E.addMockModule(); 
     ngMockE2E.addAsDependencyForModule('dataEater'); 
     $httpBackend.when('GET', '/scheduler/tasks/queue/') 
      .respond(function(method, url, data) { 
       console.log(testData); 
       console.log(self.testData2); 
       return [200, self.testData.history, {}]; 
      }); 

なぜtestDataとtestData2のどちらも定義されていませんか?このデータを適切にスコープして返信できるようにするにはどうすればよいですか?

答えて

0

$ scopeをコントローラに明示的に渡す必要があるかもしれないという問題があります。次のコードのようなものを試してください:

beforeEach(
     inject(function (_$controller_, _$rootScope_) { 
      myController = _$controller_('myControllerName', { 
       $scope: _$rootScope_.$new() 
      }); 
     }) 
    ); 
関連する問題