Javascript AngularJS单元测试中未找到模块错误

Javascript AngularJS单元测试中未找到模块错误,javascript,angularjs,gruntjs,jasmine,karma-runner,Javascript,Angularjs,Gruntjs,Jasmine,Karma Runner,我正在用Karma/Jasmine进行一个非常简单的测试,对我的AngularJS应用程序进行单元测试。这似乎有效 beforeEach( module('myApp') ); it('should blah', function () { expect(true).toBe(true); }); 而这不是 beforeEach( function () { module('myApp') } ); it('should blah',

我正在用Karma/Jasmine进行一个非常简单的测试,对我的AngularJS应用程序进行单元测试。这似乎有效

beforeEach(
        module('myApp')
);

it('should blah', function () {
    expect(true).toBe(true);
});
而这不是

beforeEach(
    function () {
        module('myApp')
    }
);

it('should blah', function () {
    expect(true).toBe(true);
});
我希望能够在每个测试套件之前做其他事情,但它不会给我任何有意义的错误来调试它,我看到的唯一错误是

TypeError: 'undefined' is not an object (evaluating 'currentSpec.queue.running')
与第二个示例中在beforeach构造中调用函数的行有关

我希望其他人已经遇到了这一点,可以帮助

谢谢
Stephen这正是您声明模块的方式。如果你想做得更多,你可以在每次之前使用一个额外的

例如:

var scope;
var ctrl;
var mysvcMock;

beforeEach(module('myApp'));

beforeEach(function() {
    mysvcMock = {

    };
});

beforeEach(inject(function($rootScope, $controller) {
    scope = $rootScope.$new();
    ctrl = $controller('MyController', {
        $scope: scope,
        mysvc: mysvcMock
    });
}));

//it checks
如果你需要更清楚的解释,请告诉我,我可以为你准备一把小提琴

谢谢


Jordan

我想象调用
模块(…)
会返回一些有意义的东西,而
函数({module(…);}
会返回这个函数(作为
beforeach(arg)
的一个参数),即使调用这个函数也不会
返回任何东西。你不能在每个函数之前调用几次吗?谢谢Jordan,这很有帮助!乔丹,我需要更清楚的解释,因为我不理解你的解决方案,但我有与@stephenmc相同的错误,请看这里:如果你能帮忙,那就太好了:)