Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery-jasmine - fixture could not be loaded

I am trying to load some fixtures for testing purposes. So far I have prepared a json file.

I did set up my beforeEach function which should load particular file but I am getting an error:

Error: Fixture could not be loaded: tests/license_filter/license_test_data.json (status: error, message: undefined)

Part of test function:

beforeEach(function () {
    jasmine.getFixtures().fixturesPath = 'tests/license_filter';
    loadFixtures('license_test_data.json');
});

Karma config:

// Karma configuration
// Generated on Mon Nov 10 2014 21:12:33 GMT+0100 (Central European Standard Time)

module.exports = function (config) {
    config.set({
        // base path that will be used to resolve all patterns (eg. files, exclude)
        basePath: 'license_tool/static',

        // frameworks to use
        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
        frameworks: ['jasmine'],

        // list of files / patterns to load in the browser
        files: [
            'js/external/jquery.js',
            '../../node_modules/jasmine-jquery/lib/jasmine-jquery.js',
            'js/external/jquery.tmpl.js',
            'js/external/jquery.validate.js',
            'js/helpers.js',
            'js/version_ninja.js',
            'tests/**/*.html',
            'tests/**/*.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: {
            '**/*.html': ['html2js']
        },

        // 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: ['PhantomJS'],

        // Continuous Integration mode
        // if true, Karma captures browsers, runs the tests and exits
        singleRun: false
    });
};
like image 727
Efrin Avatar asked Dec 15 '14 09:12

Efrin


1 Answers

I've found a solution for that.

This is my beforeeach

beforeEach(function () {
    jasmine.getJSONFixtures().fixturesPath = 'base/tests/license_filter';
    loadJSONFixtures('license_test_data.json');
});

I had to add this to files list in karma.conf.js:

{
    pattern: 'tests/**/*.json',
    watched: true,
    served: true,
    included: false
}
like image 124
Efrin Avatar answered Oct 21 '22 15:10

Efrin