Karma won't serve a JSON fixture -- complains about a missing semicolon

1,634 views
Skip to first unread message

jspl...@gmail.com

unread,
Dec 17, 2013, 11:04:25 PM12/17/13
to karma...@googlegroups.com

Trying desperately to load JSON from a file into my jasmine test, I've been slamming my face on this problem for too many hours. I'm doing angular testing and need to load mock HTTP results into the test, as Jasmine doesn't support any global setup with mock servers and stuff.

In my karma config file, I'm defining a fixture as so:

files: [
  // angular 
  'angular/angular.min.js',
  'angular/angular-route.js',
  'angular/mock/angular-mocks.js',

  // jasmine jquery helper
 'jquery-1.10.2.min.js',
 'angular/jasmine-jquery.js',

  // our app
  '../public/js/FooApp.js',

  // our tests
  'angular/*-spec.js',

  // fixtures
  { pattern: 'node/mock/factoryResults.json',
    watched: 'true',
    served:  'true',
    included: 'false' }
]

Before I even attempt to use jasmine-jquery.js in my jasmine test to load the JSON, I see karma choking on trying to serve it:

...
DEBUG [web-server]: serving: /Users/XXX/FooApp/spec/node/mock/factoryResults.json
Firefox 25.0.0 (Mac OS X 10.8) ERROR
    SyntaxError: missing ; before statement
    at /Users/XXX/FooApp/spec/node/mock/factoryResults.json:1
...

Here's what factoryResults.json looks like:

{ "why": "WHY" }

Any idea what's going on here? If it's not being 'included', why is there a syntax error?  I see plenty of examples on the web of folks successfully loading JSON into jasmine tests via karma fixtures. Karma can see the file; if I put the wrong path in my fixture block, I see an error stating that it couldn't find any files that match my fixture pattern. I've tried reformatting the .json file in different ways. 

Vojta Jína

unread,
Dec 21, 2013, 8:07:32 PM12/21/13
to karma...@googlegroups.com


--
You received this message because you are subscribed to the Google Groups "karma-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to karma-users...@googlegroups.com.
To post to this group, send email to karma...@googlegroups.com.
Visit this group at http://groups.google.com/group/karma-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/karma-users/df6a29a2-52e9-4c62-8069-2b79f966abf7%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages