Skip to content

Creates a context for Angular unit tests and provides several convenience functions to streamline testing.

License

Notifications You must be signed in to change notification settings

marufsiddiqui/ngTestHarness

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Angular Testing Harness Testing harness for Angular scopes, controllers, and providers. Streamlines the boilerplate created by needing to inject dependencies for Angular Unit Testing. Abstracts other features, and wraps setup and cleanup operations in easy to use functions.

##Modules Loaded By Default

  • ng
  • ngMock
  • ngSanitize

Additional modules, should be included in the modules parameter.

Note: Loading ngCookies adds new functionality to the testing harness. (Please see handleCookie in the API)

##API API

##If using Jasmine

  1. Make sure your SpecRunner includes:

    • Angular
    • Angular Mocks
    • Angular Sanitize
  2. The files should include at least the three angular files above, the harness filepath, the paths to all spec and source files, and the path to your modularized template files.

  1. Open the SpecRunner in a browser.

###Jasmine Modularized Templates Example

angular.module('templates-main', ['template.html']);

angular.module('template.html', []).run(['$templateCache', function($templateCache) {
  $templateCache.put('template.html', '<div class={{class}}>{{message}}</div>');
}]);

###Jasmine SpecRunner Test Example

describe("Load Sample\n", function () {
  var harness = new ngTestHarness([
      'sample',
      'templates-main'
  ]),
  parent={
    message:'Hello'
  };

  it('Expect innerHTML to contain message', function () {
    expect(
      harness.compileElement('<sample-demo message="message"></sample-demo>', parent).html()
    ).toContain('Hello');
  });
});

##If using Karma

  1. Make sure the Karma configuration includes:

    • Angular
    • Angular Mocks
    • Angular Sanitize
  2. The files should include at least the three angular files above, the harness filepath, the paths to all spec and source files, and all template files.

  3. Install the karma-ng-html2js-preprocessor, preferably through npm

  4. Add the 'karma-ng-html2js-preprocessor' plugin to your karma configuration file.

  5. Add a filepath pattern that will include your html templates in the preprocessors section.

  6. Run Karma

plugins: [
    'karma-ng-html2js-preprocessor'
]
preprocessors: {
    "'*.html': 'ng-html2js'"
}

###Karma Test Example (Using Jasmine)

describe("Load Sample\n", function () {
  var harness = new ngTestHarness([
      'sample',
      'template.html'
  ]),
  parent={
    message:'Hello'
  };

  it('Expect innerHTML to contain message', function () {
    expect(
      harness.compileElement('<sample-demo message="message"></sample-demo>', parent).html()
    ).toContain('Hello');
  });
});

##Authors

##Contributors

##License MIT License

##Articles

Copyright (c) 2014-2015 Gaikai Inc. (A Sony Computer Entertainment Company). Visit us at https://gaikai.com/ for more information.

About

Creates a context for Angular unit tests and provides several convenience functions to streamline testing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 92.2%
  • CSS 7.8%