jquery-jasmine - 无法加载fixture

时间:2014-12-15 09:06:41

标签: javascript jquery jasmine karma-runner

我正在尝试加载一些灯具用于测试目的。到目前为止,我已经准备了一个json文件。

我确实设置了我的beforeEach函数,该函数应该加载特定文件但是我收到错误:

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

部分测试功能:

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

Karma配置:

// 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
    });
};

1 个答案:

答案 0 :(得分:6)

我找到了解决方案。

这是我之前的

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

我必须将它添加到karma.conf.js中的文件列表中:

{
    pattern: 'tests/**/*.json',
    watched: true,
    served: true,
    included: false
}