0

I'm trying to write unit tests for my controllers. I've tried the following setups, none of them have worked:

Setup #1:

beforeEach module 'PostApp'

describe 'HomeCtrl', () ->

  describe 'test', () ->
    it 'does stuff', inject ($controller) ->
      console.log $controller
      $scope = {}
      $scope.test = true
      (expect $scope.test).toBe true

Setup #2:

beforeEach module 'PostApp'

describe 'HomeCtrl', () ->

  $controller = null
  beforeEach inject (_$controller_) ->
    $controller = _$controller_

  describe 'test', () ->
    it 'does stuff', () ->
      console.log $controller
      $scope = {}
      $scope.test = true
      (expect $scope.test).toBe true

Keep in mind all I'm trying to do is log $controller. Both setups throw this error (which is not informative at all):

Firefox 37.0.0 (Ubuntu 0.0.0) HomeCtrl test does stuff FAILED
    minErr/<@/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:68:12
    loadModules/<@/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:4411:15
    forEach@/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:336:11
    loadModules@/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:4372:5
    createInjector@/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:4297:11
    workFn@/home/pv/Sites/web/ngbp-coffee/vendor/angular-mocks/angul

Its worth noting that module 'PostApp' returns an undefined object. However, that is the name of my application and the file is being loaded before the test. What am I doing wrong??

dopatraman
  • 13,416
  • 29
  • 90
  • 154

0 Answers0