簡體   English   中英

在單元測試中找不到模塊

[英]Module not found in unittest

添加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']);

將js文件添加到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>

我的單元測試:

"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”時,我的單元測試有效。 有人知道為什么在我的單元測試中找不到這個皮帶模塊嗎?

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',
  ...
  ];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM