• Skip to main content
  • Skip to primary sidebar

Ryan McCormick

Dedicated Dad, Software Engineer and Lover of Coffee

AngularJS Add $scope to Controller Unit Test

March 19, 2017 by Ryan McCormick Leave a Comment

First off, you really shouldn’t be adding $scope to your controller. Always use ControllerAs syntax as a best practice. If you aren’t familiar, John Papa has an excellent style guide for AngularJS coding practices: Angular 1 Style Guide

Alright, now that we got that out of the way. You probably have an edge case or something where you need to add it. Cool, I got you covered.

See the example below for how to inject $scope into your controller test case:

/* jshint -W117, -W130 */
(function() {
  'use strict';

  describe('HomeController', function() {
    beforeEach(module('app'));

    var $controller;
    var scope;

    beforeEach(inject(function(_$controller_, _$rootScope_) {
      $controller = _$controller_;
      scope = _$rootScope_.$new();
    }));

    describe('Home Controller', function() {
      var controller;

      beforeEach(function() {
        controller = $controller('HomeController', { $scope: scope });
      });

      it('should be defined', function() {
        expect(controller).toBeDefined();
      });

      it('should have a title of home', function() {
        expect(controller.title).toEqual('Home');
      });

    });
  });

})();

Related

Filed Under: AngularJS (1x branch) Tagged With: add $scope, angularjs, jasmine, unit testing

Reader Interactions

Leave a Reply Cancel reply

Primary Sidebar

Recent Posts

  • Force Quit Kill all Chrome Windows MacOS
  • SOLVED: Angular 6 CLI Karma Stuck in Single Run | Karma Stops Running
  • How to Manually Install Java 8 on Ubuntu 18.04 LTS
  • Remove VirtualBox from Ubuntu 16.04 Xenial
  • Clear all Node Modules Folders Recursively Mac/Linux

Recent Comments

  • KKV on Webstorm adding spaces between imports and braces | JavaScript and TypeScript
  • jusopi on Clear all Node Modules Folders Recursively Mac/Linux
  • Qaisar Irfan on Clear all Node Modules Folders Recursively Mac/Linux
  • mustafa on Remove VirtualBox from Ubuntu 16.04 Xenial
  • Pourya on How to Manually Install Java 8 on Ubuntu 18.04 LTS

Archives

  • May 2019
  • May 2018
  • April 2018
  • March 2018
  • January 2018
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • March 2017
  • December 2015
  • November 2015
  • July 2015
  • April 2015
  • February 2015
  • September 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • October 2013
  • August 2013
  • June 2013
  • April 2013
  • March 2013
  • February 2013
  • December 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • May 2012
  • March 2012
  • February 2012
  • December 2011
  • November 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • August 2009
  • July 2009
  • May 2009

Categories

  • Angular
  • Angular 2
  • AngularJS (1x branch)
  • Computer Q&A
  • ES2015
  • Internet Marketing
  • Javascript
  • Job Interviews
  • Job Search
  • Karma
  • Laravel
  • Linux
  • Linux/Unix Tips
  • MacOS
  • Microsoft Access
  • Microsoft Excel
  • Microsoft Outlook
  • Microsoft Word
  • News
  • Node
  • Open Source
  • PHP
  • Protractor
  • Resume Writing
  • Spring Boot
  • SQL
  • Ubuntu
  • VBA
  • VBScript
  • VirtualBox
  • Web Development
  • Windows Tips
  • Wordpress

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Copyright © 2023 · Magazine Pro on Genesis Framework · WordPress · Log in