小编use*_*247的帖子

在业力中使用angular.mock.inject会给出"TypeError:无法读取属性'$ injector'的null"

我正在尝试使用Karma对AngularJS进行一些基本的单元测试.我写的所有测试在语法上都是正确的.但是我在最基本的步骤中遇到了问题,即代码的beforeEach部分.当我尝试运行测试时,我遇到以下问题

TypeError: Cannot read property '$injector' of null
at Object.workFn (http://localhost:9876/absolute/Users/vesriram/Documents/AngularJS%20project/vendor/js/angular-mocks.js:1698:15)
at Object.<anonymous> (http://localhost:9876/adapter/lib/angular-scenario.js:26360:54)
at Array.forEach (native)
at Object.forEach (http://localhost:9876/adapter/lib/angular-scenario.js:9593:11)
Run Code Online (Sandbox Code Playgroud)

过去36小时我一直试图解决这个问题,到目前为止还没有运气.据我所知,没有其他人似乎遇到这个问题.这让我觉得我可能做了些蠢事.我真的很感激你们能给我的任何帮助.我很乐意发布您需要的任何其他代码(只要我可以自由地泄露它).

相关守则如下─

app.js

var sell_page = angular.module("sell_page", ['ui.bootstrap']);

sell_page.controller('ItemTitleController', ['$scope','listingInformationService', '$location',function($scope, listingInformationService, $location) {
    $scope.itemNames = getAllItemNames();
    $scope.draftItems = getAllSavedDrafts();
    document.getElementById("categorySelection").style.visibility = "hidden";

    ------bunch of code-------
}]); 
Run Code Online (Sandbox Code Playgroud)

controllersSpec.js

describe("Unit: Testing Controllers", function() {

beforeEach(angular.mock.module('sell_page'));

it('should have a ItemTitleController controller', function() {
    expect(sell_page.ItemTitleController).not.to.equal(null);
});


describe("ItemTitleController", function() {
    var scope;
    beforeEach(angular.mock.module('sell_page'));
    beforeEach(angular.mock.inject(function($rootScope, listingInformationService, $location, $controller) {
        var scope = $rootScope.$new();
        var controller …
Run Code Online (Sandbox Code Playgroud)

javascript tdd angularjs karma-runner

8
推荐指数
1
解决办法
5242
查看次数

标签 统计

angularjs ×1

javascript ×1

karma-runner ×1

tdd ×1