{"id":4747,"date":"2016-07-19T12:00:09","date_gmt":"2016-07-19T12:00:09","guid":{"rendered":"http:\/\/www.garysieling.com\/blog\/?p=4747"},"modified":"2016-07-19T12:00:09","modified_gmt":"2016-07-19T12:00:09","slug":"fixing-jest-error-expected-undefined-abc","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/","title":{"rendered":"Fixing Jest error: Expected undefined to be &#8216;abc&#8217;."},"content":{"rendered":"<p>If you write a test with Jest, you can get this puzzling error:<\/p>\n<pre>\n FAIL  dist\\__tests__\\import-editions-test.js (0.058s)\n\u25cf parseLine \u203a it parses the header part of the line\n  - Expected undefined to be 'abc'.\n        at jasmine.buildExpectationResult (node_modules\\jest-jasmine2\\build\\index.js:92:44)\n        at Object.it (dist\\__tests__\\import-editions-test.js:7:52)\n        at jasmine2 (node_modules\\jest-jasmine2\\build\\index.js:294:7)\n        at Test.run (node_modules\\jest-cli\\build\\Test.js:50:12)\n        at promise.then.then.data (node_modules\\jest-cli\\build\\TestRunner.js:264:62)\n        at process._tickCallback (internal\\process\\next_tick.js:103:7)\n<\/pre>\n<p>The cause of this is that the function is mocked, and is returning undefined. The reason for this is that you must import or require the module after you tell Jest not to mock it (Jest is inserting itself into require).<\/p>\n<p>So, this does not work, but when you log the function you can see that it is mocked:<\/p>\n<pre lang=\"javascript\">\nimport { parseLine } from '..\/import-editions'\n\njest.unmock('..\/import-editions');\ndescribe('parseLine', () => {\n  it('parses the header part of the line', () => {\n    console.log(parseLine);\n    expect(parseLine('abc')).toBe('abc');\n  });\n});\n<\/pre>\n<p>Instead, this will work (you can also import the function within the test):<\/p>\n<pre lang=\"javascript\">>\njest.unmock('..\/import-editions');\n\nimport { parseLine } from '..\/import-editions'\n\ndescribe('parseLine', () => {\n  it('parses the header part of the line', () => {\n    expect(parseLine('abc')).toBe('abc');\n  });\n});\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>How to require modules in Jest tests<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[4],"tags":[302],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"How to require modules in Jest tests\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"gary\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gary Sieling - Software Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Fixing Jest error: Expected undefined to be \u2018abc\u2019. - Gary Sieling\" \/>\n\t\t<meta property=\"og:description\" content=\"How to require modules in Jest tests\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-07-19T12:00:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2016-07-19T12:00:09+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Fixing Jest error: Expected undefined to be \u2018abc\u2019. - Gary Sieling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"How to require modules in Jest tests\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/#blogposting\",\"name\":\"Fixing Jest error: Expected undefined to be \\u2018abc\\u2019. - Gary Sieling\",\"headline\":\"Fixing Jest error: Expected undefined to be &#8216;abc&#8217;.\",\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"},\"datePublished\":\"2016-07-19T12:00:09+00:00\",\"dateModified\":\"2016-07-19T12:00:09+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/#webpage\"},\"articleSection\":\"Code Examples, javascript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/code-examples\\\/#listItem\",\"name\":\"Code Examples\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/code-examples\\\/#listItem\",\"position\":2,\"name\":\"Code Examples\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/code-examples\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/#listItem\",\"name\":\"Fixing Jest error: Expected undefined to be &#8216;abc&#8217;.\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/#listItem\",\"position\":3,\"name\":\"Fixing Jest error: Expected undefined to be &#8216;abc&#8217;.\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/code-examples\\\/#listItem\",\"name\":\"Code Examples\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/\",\"name\":\"gary\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"gary\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/#webpage\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/\",\"name\":\"Fixing Jest error: Expected undefined to be \\u2018abc\\u2019. - Gary Sieling\",\"description\":\"How to require modules in Jest tests\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-jest-error-expected-undefined-abc\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"datePublished\":\"2016-07-19T12:00:09+00:00\",\"dateModified\":\"2016-07-19T12:00:09+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Fixing Jest error: Expected undefined to be \u2018abc\u2019. - Gary Sieling","description":"How to require modules in Jest tests","canonical_url":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/#blogposting","name":"Fixing Jest error: Expected undefined to be \u2018abc\u2019. - Gary Sieling","headline":"Fixing Jest error: Expected undefined to be &#8216;abc&#8217;.","author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"},"datePublished":"2016-07-19T12:00:09+00:00","dateModified":"2016-07-19T12:00:09+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/#webpage"},"isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/#webpage"},"articleSection":"Code Examples, javascript"},{"@type":"BreadcrumbList","@id":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.garysieling.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/#listItem","name":"Code Examples"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/#listItem","position":2,"name":"Code Examples","item":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/#listItem","name":"Fixing Jest error: Expected undefined to be &#8216;abc&#8217;."},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/#listItem","position":3,"name":"Fixing Jest error: Expected undefined to be &#8216;abc&#8217;.","previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/#listItem","name":"Code Examples"}}]},{"@type":"Organization","@id":"https:\/\/www.garysieling.com\/blog\/#organization","name":"Gary Sieling","description":"Software Engineer","url":"https:\/\/www.garysieling.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author","url":"https:\/\/www.garysieling.com\/blog\/author\/gary\/","name":"gary","image":{"@type":"ImageObject","@id":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g","width":96,"height":96,"caption":"gary"}},{"@type":"WebPage","@id":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/#webpage","url":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/","name":"Fixing Jest error: Expected undefined to be \u2018abc\u2019. - Gary Sieling","description":"How to require modules in Jest tests","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/#breadcrumblist"},"author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"creator":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"datePublished":"2016-07-19T12:00:09+00:00","dateModified":"2016-07-19T12:00:09+00:00"},{"@type":"WebSite","@id":"https:\/\/www.garysieling.com\/blog\/#website","url":"https:\/\/www.garysieling.com\/blog\/","name":"Gary Sieling","description":"Software Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Gary Sieling - Software Engineer","og:type":"article","og:title":"Fixing Jest error: Expected undefined to be \u2018abc\u2019. - Gary Sieling","og:description":"How to require modules in Jest tests","og:url":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/","article:published_time":"2016-07-19T12:00:09+00:00","article:modified_time":"2016-07-19T12:00:09+00:00","twitter:card":"summary_large_image","twitter:title":"Fixing Jest error: Expected undefined to be \u2018abc\u2019. - Gary Sieling","twitter:description":"How to require modules in Jest tests"},"aioseo_meta_data":{"post_id":"4747","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2023-02-04 17:01:58","updated":"2026-07-06 02:08:32","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/\" title=\"Code Examples\">Code Examples<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tFixing Jest error: Expected undefined to be \u2018abc\u2019.\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.garysieling.com\/blog"},{"label":"Code Examples","link":"https:\/\/www.garysieling.com\/blog\/category\/code-examples\/"},{"label":"Fixing Jest error: Expected undefined to be &#8216;abc&#8217;.","link":"https:\/\/www.garysieling.com\/blog\/fixing-jest-error-expected-undefined-abc\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/4747"}],"collection":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/comments?post=4747"}],"version-history":[{"count":0,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/4747\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=4747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=4747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=4747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}