Why is Karma refusing to serve my JSON fixture (which I'd like to use in my jasmine / angularjs tests)

jasmine, javascript, json, karma-runner

Solution

Your problem is that `'false'` has to be a boolean, not a string.

There is already an issue to validate the config better and fix such a mistakes.

Also, you might write a simple "json" preprocessor (similar to karma-html2js) that would make it valid JS and put the JSON into some global namespace so that you can keep the tests synchronous...

Problem

As indicated in this stackoverflow answer, it looks like Karma will serve JSON fixtures. However, I've spent too many hours trying to get it to work in my environment. Reason: I'm doing angular testing and need to load mock HTTP results into the test, as Jasmine doesn't support any global setup/teardown 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? 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... Any ideas?

Original source

Related problems