2013-09-20 2 views
1

После добавления модуля angularStrap все работает отлично, за исключением в моей UnitTest я получаю следующее сообщение об ошибке:модуль не найден в UnitTest

Error: No module: $strap.directives 
... 
    TypeError: Unable to get property 'expect' of undefined or null reference 

так вар httpBackend = нуль

Я добавил его к основному модулю:

var app = angular.module('testK', ["ngResource", "$strap.directives", "ui.if", 'ui.date']); 

добавлены оценки файлов расслоение плотной index.html

<!-- AngularJS files --> 
     <script type="text/javascript" src="lib/jquery.js"></script> 
     <script type="text/javascript" src="lib/jquery-ui-1.10.3.custom.js"></script> 
     <!-- <script type="text/javascript" src="lib/jquery-ui-1.10.3.custom_witheffects.js"></script> --> 
     <script type="text/javascript" src="lib/angular/angular.js"></script> 
     <script type="text/javascript" src="lib/angular/angular-resource.js"></script> 
     <!--<script type="text/javascript" src="lib/angular/directives/ng-table.js"></script>--> 
     <script type="text/javascript" src="lib/angular/ui/if.js"></script> 
     <script type="text/javascript" src="lib/angular/ui/datepicker.js"></script> 
     <script type="text/javascript" src="lib/angular/twitter-bootstrap.min.js"></script> 
     <script type="text/javascript" src="lib/angular/angular-strap-0.7.5.min.js"></script> 

мой UnitTest:

"use strict"; 
describe("mainT", function() { 


var ctrl, scope, httpBackend, locationMock, 

    beforeEach(module("testK")); 
    beforeEach(inject(function ($controller, $rootScope, $httpBackend, $location, $injector) { 
     scope = $rootScope.$new(); 
     httpBackend = $httpBackend; 
     locationMock = $location; 



     ctrl = $controller("mainT.controller.users", { $scope: scope, $location: locationMock}); 


    })); 

    afterEach(function() { 
     httpBackend.verifyNoOutstandingRequest(); 
     httpBackend.verifyNoOutstandingExpectation(); 
    }); 




     describe("method test", function() { 
     it('should test', function() { 
      //todo implementation 
      expect(true).toBeFalsy(); 
     }); 
    }); 
}); 

Когда я удалить "$ strap.directives" из моего приложения модуля, мои UnitTest работы. Кто-нибудь понял, почему этот модуль ремня не найден в моем unittest?

+1

чек на karma.conf.js и добавьте туда файл –

+0

спасибо добрый сэр – Vincent

+0

я отправил его в ответ, и я продлен это немного –

ответ

2

Файл karma.conf.js определяет файлы, доступные во время модульных тестов. Его можно использовать для добавления модулей или сторонних модулей.

Проверьте karma.conf.js и добавьте туда файл:

// base path, that will be used to resolve files and exclude 
basePath = ''; 

// list of files/patterns to load in the browser 
files = [ 
    JASMINE, 
    JASMINE_ADAPTER, 
    REQUIRE, 
    REQUIRE_ADAPTER, 
    'test-main.js', 
    ... 
    ];