[英]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.