{"id":163,"date":"2013-07-05T17:57:17","date_gmt":"2013-07-05T17:57:17","guid":{"rendered":"http:\/\/ramandv.com\/blog\/?p=163"},"modified":"2013-07-05T17:57:17","modified_gmt":"2013-07-05T17:57:17","slug":"angularjs-unit-testing-angular-mock-module-and-angular-mock-inject","status":"publish","type":"post","link":"http:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/","title":{"rendered":"Angularjs Unit testing &#8211; angular.mock.module and angular.mock.inject"},"content":{"rendered":"\n<!-- Quick Adsense WordPress Plugin: http:\/\/quickadsense.com\/ -->\n<div class=\"e9e85ee105af8a6a4a383deebf1fa216\" data-index=\"1\" style=\"float: none; margin:10px 0 10px 0; text-align:center;\">\n<script type=\"text\/javascript\"><!--\r\ngoogle_ad_client = \"ca-pub-4917982260456644\";\r\n\/* ramandv.com-ad1 *\/\r\ngoogle_ad_slot = \"9226290554\";\r\ngoogle_ad_width = 728;\r\ngoogle_ad_height = 90;\r\n\/\/-->\r\n<\/script>\r\n<script type=\"text\/javascript\"\r\nsrc=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">\r\n<\/script>\n<\/div>\n<p>Read the following post to <a href=\"http:\/\/ramandv.com\/blog\/angularjs-unit-testing-why-karma\/\">why karma<\/a> to get overview about unit testing with AngularJS<\/p>\n<p>By default, <strong>ng<\/strong> module will be loaded during unit testing. But our modules should be loaded explicitly with angular.mock.module.<\/p>\n<p>The angular.mock.inject function wraps the function into an injectable function. Basically, it will inject all the necessary parameters.<\/p>\n<p>For example, you want to test moduleA, but it depends on other modules also, then first, you need to load them as follows<\/p>\n<pre><code>angular.mock.module('moduleA', 'moduleB', 'moduleC');\n<\/code><\/pre>\n<p>Then, You can inject the services from these modules as follows<\/p>\n<pre><code>angular.mock.inject(function(moduleAservice){\n    moduleAservice.methodA();\n});\n<\/code><\/pre>\n<p>If you want to mock the service, there are 3 different ways. Check the following post<\/p>\n<p>http:\/\/stackoverflow.com\/questions\/13592259\/mocking-my-own-service-in-a-unit-test<\/p>\n<p><em>Note: angular.mock.inject and angular.mock.module is only available<br \/>\nfor jasmine and mocha testing framework<\/em><\/p>\n\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Read the following post to why karma to get overview about unit testing with AngularJS By default, ng module will be loaded during unit testing. But our modules should be loaded explicitly with angular.mock.module. The angular.mock.inject function wraps the function &hellip; <a href=\"http:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[7],"tags":[14],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"description\" content=\"This post explains about the functionality and the reason for angular.mock.inject and angular.mock.module in angularjs unit testing\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Angularjs Unit testing - angular.mock.module and angular.mock.inject - Articles for Developers\" \/>\n<meta property=\"og:description\" content=\"This post explains about the functionality and the reason for angular.mock.inject and angular.mock.module in angularjs unit testing\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/\" \/>\n<meta property=\"og:site_name\" content=\"Articles for Developers\" \/>\n<meta property=\"article:published_time\" content=\"2013-07-05T17:57:17+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ramandv\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.ramandv.com\/blog\/#website\",\"url\":\"http:\/\/www.ramandv.com\/blog\/\",\"name\":\"Articles for Developers\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.ramandv.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/#webpage\",\"url\":\"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/\",\"name\":\"Angularjs Unit testing - angular.mock.module and angular.mock.inject - Articles for Developers\",\"isPartOf\":{\"@id\":\"http:\/\/www.ramandv.com\/blog\/#website\"},\"datePublished\":\"2013-07-05T17:57:17+00:00\",\"dateModified\":\"2013-07-05T17:57:17+00:00\",\"author\":{\"@id\":\"http:\/\/www.ramandv.com\/blog\/#\/schema\/person\/ca1ede7143462f244081566e6ff97658\"},\"description\":\"This post explains about the functionality and the reason for angular.mock.inject and angular.mock.module in angularjs unit testing\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Angularjs Unit testing &#8211; angular.mock.module and angular.mock.inject\"}]},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.ramandv.com\/blog\/#\/schema\/person\/ca1ede7143462f244081566e6ff97658\",\"name\":\"ramandv\",\"url\":\"http:\/\/www.ramandv.com\/blog\/author\/ramandv\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"description":"This post explains about the functionality and the reason for angular.mock.inject and angular.mock.module in angularjs unit testing","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/","og_locale":"en_US","og_type":"article","og_title":"Angularjs Unit testing - angular.mock.module and angular.mock.inject - Articles for Developers","og_description":"This post explains about the functionality and the reason for angular.mock.inject and angular.mock.module in angularjs unit testing","og_url":"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/","og_site_name":"Articles for Developers","article_published_time":"2013-07-05T17:57:17+00:00","twitter_misc":{"Written by":"ramandv","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"http:\/\/www.ramandv.com\/blog\/#website","url":"http:\/\/www.ramandv.com\/blog\/","name":"Articles for Developers","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.ramandv.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/#webpage","url":"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/","name":"Angularjs Unit testing - angular.mock.module and angular.mock.inject - Articles for Developers","isPartOf":{"@id":"http:\/\/www.ramandv.com\/blog\/#website"},"datePublished":"2013-07-05T17:57:17+00:00","dateModified":"2013-07-05T17:57:17+00:00","author":{"@id":"http:\/\/www.ramandv.com\/blog\/#\/schema\/person\/ca1ede7143462f244081566e6ff97658"},"description":"This post explains about the functionality and the reason for angular.mock.inject and angular.mock.module in angularjs unit testing","breadcrumb":{"@id":"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.ramandv.com\/blog\/angularjs-unit-testing-angular-mock-module-and-angular-mock-inject\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Angularjs Unit testing &#8211; angular.mock.module and angular.mock.inject"}]},{"@type":"Person","@id":"http:\/\/www.ramandv.com\/blog\/#\/schema\/person\/ca1ede7143462f244081566e6ff97658","name":"ramandv","url":"http:\/\/www.ramandv.com\/blog\/author\/ramandv\/"}]}},"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6YZCe-2D","_links":{"self":[{"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/posts\/163"}],"collection":[{"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/comments?post=163"}],"version-history":[{"count":7,"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/posts\/163\/revisions"}],"predecessor-version":[{"id":170,"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/posts\/163\/revisions\/170"}],"wp:attachment":[{"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/media?parent=163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/categories?post=163"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.ramandv.com\/blog\/wp-json\/wp\/v2\/tags?post=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}