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
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
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
instagram takipçi satın al - instagram takipçi satın al - tiktok takipçi satın al - instagram takipçi satın al - instagram beğeni satın al - instagram takipçi satın al - instagram takipçi satın al - instagram takipçi satın al - instagram takipçi satın al - binance güvenilir mi - binance güvenilir mi - binance güvenilir mi - binance güvenilir mi - instagram beğeni satın al - instagram beğeni satın al - polen filtresi - google haritalara yer ekleme - btcturk güvenilir mi - binance hesap açma - kuşadası kiralık villa - tiktok izlenme satın al - instagram takipçi satın al - sms onay - paribu sahibi - binance sahibi - btcturk sahibi - paribu ne zaman kuruldu - binance ne zaman kuruldu - btcturk ne zaman kuruldu - youtube izlenme satın al - torrent oyun - google haritalara yer ekleme - altyapısız internet - bedava internet - no deposit bonus forex - erkek spor ayakkabı - webturkey.net - minecraft premium hesap - karfiltre.com - tiktok jeton hilesi - tiktok beğeni satın al - microsoft word indir - misli indir
ReplyDeleteExcellent work done by you once again here. This is just the reason why I’ve always liked your work. You have amazing writing skills and you display them in every article. Keep it going!
ReplyDeletedata scientist training and placement in hyderabad
Online Training | Classroom | Virtual Classes
ReplyDeleteSQL Server Training with 100% placement assistance
1860 testers placed in 600 companies in last 8 years
Real time expert trainers
Indutry oriented training with corporate casestudies
Free Aptitude classes & Mock interviews
Very Nice Blog…Thanks for sharing this information with us. Here am sharing some information about training institute.
ReplyDeletetableau online training in hyderabad
Very Nice Blog…Thanks for sharing this information with us.
ReplyDeletebest devops online training in hyderabad
Wow.. Very informative article thanks for sharing please keep it up.. India emergency visa on arrival get online through the India visa website.
ReplyDeleteI think this is an informative post and it is very useful and informative. So, I would like to thank you for the effort you put into writing this article. The Indian e visa or Electronic Visa (eTV) is an online travel authorization. You can apply online for Indian e visas via the Indian e-visa website.
ReplyDeleteThis is really an inspiring and helpful article. I am fully satisfied with your effort .There is no need to meet any embassy, especially to apply for Indian visa from Australia. You can easily apply online and easily get your evisa on your email id.
ReplyDeleteI will really appreciate the writer's choice for choosing this excellent article appropriate to my matter.Here is deep description about the article matter which helped me more. data science course in surat
ReplyDeleteI truly like your style of blogging. I added it to my preferred's blog webpage list and will return soon…https://360digitmg.com/course/certification-program-on-digital-marketing
ReplyDeleteGood to become visiting your weblog again, it has been months for me. Nicely this article that i've been waited for so long. I will need this post to total my assignment in the college, and it has exact same topic together with your write-up. Thanks, good share. data analyst course online
ReplyDeleteGreat content that provides quality knowledge with interesting facts is what I love to read. The Turkish visa application form can be filled online from virtually anywhere in the world, so visitors from anywhere in the world can obtain their visa via email.
ReplyDeleteIt feels wonderful to celebrate Christmas Eve feeling loved by you, I think I am the luckiest man in the world.Loved Ones Christmas Wishes
ReplyDeleteI like your writing style because it's different from everyone else's.
ReplyDeletePolyverse Music Infected
Nice thanks for sharing informative post like this keep posting if like more details visit my website linkhttps://snowflakemasters.in/
ReplyDeleteNice Article!
ReplyDeleteThanks for sharing with us :-)
Tosca Training Hyderabad