stephen mc
stephen mc

Reputation: 771

Module not found error in AngularJS unit test

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

Upvotes: 3

Views: 4742

Answers (1)

Jordan Papaleo
Jordan Papaleo

Reputation: 1511

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

Upvotes: 5

Related Questions