angular mock `module` resulting in '[Object object] is not a function'


I’m trying to create some unit tests in Angular using Jasmine being run through Teaspoon. The tests are running, however I have a simple test just to test the existence of a controller that is failing. I have the following test setup.

//= require spec_helper

var app = require("./app");

describe("My App", function() {

  describe("App Controllers", function() {


    it("Should have created an application controller", inject(function($rootScope, $controller){
      var scope = $rootScope.$new();
      ctrl = $controller("ApplicationCtrl", { $scope: scope });



The require statements are processed by Browserify which is handling my dependencies, but I can also hook into sprockets which I’m using for the spec helper.

Inside the app that is being required, I have

var controllers = require("./controllers");

var app = angular.module("app", [
]); = app;

When I run this test, I get the following error produced

Failure/Error: TypeError: '[object Object]' is not a function (evaluating 'module("aialerts")')

I’ve spent quite a while trying to figure this out but I have no idea what’s going on. Any help appreciated.


I had the same problem. Change this line:




Answered By – zayquan

Answer Checked By – Candace Johnson (AngularFixing Volunteer)

Leave a Reply

Your email address will not be published.