最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - jquery-jasmine - fixture could not be loaded - Stack Overflow

programmeradmin1浏览0评论

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: 
        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: 
        preprocessors: {
            '**/*.html': ['html2js']
        },

        // test results reporter to use
        // possible values: 'dots', 'progress'
        // available reporters: 
        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: 
        browsers: ['PhantomJS'],

        // Continuous Integration mode
        // if true, Karma captures browsers, runs the tests and exits
        singleRun: false
    });
};

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/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/browse/keyword/karma-preprocessor
        preprocessors: {
            '**/*.html': ['html2js']
        },

        // test results reporter to use
        // possible values: 'dots', 'progress'
        // available reporters: https://npmjs/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/browse/keyword/karma-launcher
        browsers: ['PhantomJS'],

        // Continuous Integration mode
        // if true, Karma captures browsers, runs the tests and exits
        singleRun: false
    });
};
Share Improve this question asked Dec 15, 2014 at 9:06 EfrinEfrin 2,4234 gold badges26 silver badges47 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 7

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
}
发布评论

评论列表(0)

  1. 暂无评论