Module not found error in AngularJS unit test

随声附和 提交于 2020-01-13 13:52:44

问题


I'm trying a very simple test with Karma/Jasmine, to unit test my AngularJS app. This seems to work

beforeEach(
        module('myApp')
);

it('should blah', function () {
    expect(true).toBe(true);
});

while this doesnt

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

it('should blah', function () {
    expect(true).toBe(true);
});

I want to be able to do other stuff beforeEach test suite, but it's not giving me any meaningful errors to be able to debug it, the only one I see is

TypeError: 'undefined' is not an object (evaluating 'currentSpec.queue.running')

relating to the line where the function is called within the beforeEach construct in the second example.

Im hoping someone else has come across this and can assist?

Thanks Stephen


回答1:


Thats just how you declare your module. If you want to do more you can just use an additional beforeEach.

For Example:

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

Let me know if you need more clarity on this and I can put together a fiddle for you.

Thanks,

Jordan



来源:https://stackoverflow.com/questions/22410823/module-not-found-error-in-angularjs-unit-test

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!