2016-09-08 4 views
0

Я пишу некоторые сквозные тесты с помощью приложения Трантрактор для и Угловое приложение. В настоящее время я пытаюсь издеваться над некоторыми ответами с помощью углового макета, и я сталкиваюсь с проблемой с определением области охвата, которое я не понимаю.

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() 
      }); 
     }) 
    ); 
Смежные вопросы