1

angularStrap モジュールを追加した後、ユニットテストを除いてすべて正常に動作し、次のエラーが発生します。

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

だから var httpBackend = null

メインモジュールに追加しました:

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

index.html に js ファイルを追加

<!-- 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>

私の単体テスト:

"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」を削除すると、単体テストが機能します。私のユニットテストでこのストラップモジュールが見つからない理由を誰かが知りましたか?

4

1 に答える 1

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',
  ...
  ];
于 2013-09-22T17:14:48.407 に答える