Configuration:
Require Files: [angular.js, angular-mock.js, karma, karma-jasmine, karma-chrome-launcher]configuration file: karma.conf.js (we can create it manually or via command karma init)
Description:
Karma is spectacular test runner for JavaScript, runs on Node.js and is available as a NPM package. Above all require files are available as an NPM package. To run test cases you just have to run command karma start karma.conf.js
include all files in karma.conf.js as file option for which you wanted to write test cases.
I created a first test case for directive "CompareTo" define in "motorbot.reservation.directives". Here is code
in directives/reservationsDirective.js:
var directives = angular.module("motorbot.reservation.directives", []);
var compareTo = function() { return { require: "ngModel", scope: { otherModelValue: "=compareTo" }, link: function(scope, element, attributes, ngModel) { ngModel.$validators.compareTo = function(modelValue) { return modelValue == scope.otherModelValue; }; scope.$watch("otherModelValue", function() { ngModel.$validate(); }); } }; }; directives.directive('compareTo', compareTo);
<input type="password" class="form-control" name="user_password_confirmation" compare-to="patron.password" ng-model='patron.password_confirmation' required />
Here is test case for directive "compareTo" in test/directives/directiveSpec.js:
describe('Directives', function() { //include modules beforeEach(angular.mock.module('motorbot.reservation.directives')); describe('testing directive compare to', function() { var $scope, element, scope; var html = '<input compare-to="password" ng-model="password_confirmation"/>'; // Injecting angular services in unit test for this we need angular-mock.js beforeEach(inject(function($rootScope, $compile) { $scope = $rootScope; // load the values to send $scope.password = 'abc'; $scope.password_confirmation = 'abc2'; // create the element and compile it element = angular.element(html); $compile(element)($scope); // get the scope of this directive scope = element.scope(); $scope.$digest(); })); it("should not valid password_confirmation", function() { expect(element.hasClass('ng-invalid-compare-to')).toBeTruthy(); }); it("should valid password_confirmation", function() { $scope.password_confirmation = 'abc'; $scope.$digest(); expect(element.hasClass('ng-invalid-compare-to')).toBeFalsy(); }); }); });
Here is sample for karma.conf.js file:
// Karma configuration // Generated on Thu May 14 2015 18:59:11 GMT+0530 (IST) module.exports = function(config) { config.set({ // base path that will be used to resolve all patterns (eg. files, exclude) basePath: './', // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter frameworks: ['jasmine'], // list of files / patterns to load in the browser
// list of files for which you wanted to write test cases files: ['bower_components/angular/angular.js', 'bower_components/angular-mocks/angular-mocks.js', 'directives/*.js', 'test/**/*Spec.js' ], // list of files to exclude exclude: [ ], // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { }, // test results reporter to use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter reporters: ['progress'], // web server port port: 9876, // enable / disable colors in the output (reporters and logs) colors: true, // level of logging // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes autoWatch: true, // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher browsers: ['Chrome'], // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits singleRun: false }); };
This will help my skill development... thanks
ReplyDeleteAngularjs online Training
IEEE Final Year projects Project Centers in Chennai are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation. For experts, it's an alternate ball game through and through. Smaller than expected IEEE Final Year project centers ground for all fragments of CSE & IT engineers hoping to assemble. Final Year Projects for CSE It gives you tips and rules that is progressively critical to consider while choosing any final year project point.
DeleteSpring Framework has already made serious inroads as an integrated technology stack for building user-facing applications. Spring Framework Corporate TRaining the authors explore the idea of using Java in Big Data platforms.
Specifically, Spring Framework provides various tasks are geared around preparing data for further analysis and visualization. Spring Training in Chennai
The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training
So informative. You should author a book on this.
ReplyDeleteAngularjs Training | Angularjs Training in Chennai
This comment has been removed by a blog administrator.
ReplyDeleteGreat blog.you put Good stuff.All the topics were explained briefly.so quickly understand for me.I am waiting for your next fantastic blog.Thanks for sharing.Any coures related details learn...
ReplyDeletesoftware testing course in chennai
ReplyDeletei just go through your article it’s very interesting time just pass away by reading your article looking for more updates. Thank you for sharing.
Best Devops Training Institute
Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
ReplyDeletetop microservices online training
Resources like the one you mentioned here will be very useful to me ! I will post a link to this page on my blog. I am sure my visitors will find that very useful
ReplyDeleteAWS training in chennai | AWS training in annanagar | AWS training in omr | AWS training in porur | AWS training in tambaram | AWS training in velachery
I really appreciate the kind of topics you post here. Thanks for sharing us a great information that is actually helpful.
ReplyDeleteSalesforce Training in Chennai
Salesforce Online Training in Chennai
Salesforce Training in Bangalore
Salesforce Training in Hyderabad
Salesforce training in ameerpet
Salesforce Training in Pune
Salesforce Online Training
Salesforce Training
ReplyDeletetrung tâm tư vấn du học canada vnsava
công ty tư vấn du học canada vnsava
trung tâm tư vấn du học canada vnsava uy tín
công ty tư vấn du học canada vnsava uy tín
trung tâm tư vấn du học canada vnsava tại tphcm
công ty tư vấn du học canada vnsava tại tphcm
điều kiện du học canada vnsava
chi phí du học canada vnsava
#vnsava
@vnsava