2014-01-27 4 views
1

requirejs, coffeescript, jasmine 및 jasmine-sprockets와 함께 karma 0.10.9를 사용하고 있습니다. 왜냐하면 저는 RoR 프로젝트에서 작업 중이기 때문에 스프로킷 지시문 만 포함).요구 사항이있는 JDK 로딩 요구 사항 src 및 lib 파일이 아닌

내가 카르마를 시작하면 "Executed 0 of 0 ERROR"메시지가 표시됩니다.

러너 페이지 (localhost : 9876)에서 보이는 것처럼 lib와 src 파일은로드되지 않지만 스펙은 수행합니다. 콘솔에 오류가 없습니다. lib 또는 src 파일의 URL을 검색 주소창에 직접 복사하면 파일이로드됩니다.

디버그 페이지에서 모든 파일 (libs, 소스 및 테스트)이로드됩니다.

내가 우둔 해요 ...

여기 내 karma.conf.js :

module.exports = function(config) { 
    config.set({ 
    basePath: '../../..', 

    frameworks: ['jasmine', 'requirejs'], 

    files: [ 
     {pattern: 'vendor/assets/javascripts/**/*.js', included: false}, 
     {pattern: 'app/assets/javascripts/v5/**/*.coffee', included: false}, 
     'spec/javascripts/helpers/jasmine-jquery.js', 
     'spec/javascripts/helpers/maps-helper.js', 
     {pattern: 'spec/javascripts/fixtures/*.html', watched: true, included: false, served: true}, 
     {pattern: 'spec/javascripts/v5/**/*_spec.coffee', included: false}, 
     'spec/javascripts/v5/test-main.coffee' 
    ], 

    hostname: [ 
     'localhost' 
    ], 

    exclude: [ 
    ], 

    preprocessors: { 
     '**/*.coffee': ['coffee'] 
    }, 

    coffeePreprocessor: { 
     // transforming the filenames 
     transformPath: function(path) { 
     return path.replace(/(.js.coffee|.coffee)/, '.js'); 
     } 
    }, 

    reporters: ['progress'], 

    port: 9876, 

    colors: true, 

    logLevel: config.LOG_INFO, 

    autoWatch: true, 

    browsers: [], 

    captureTimeout: 20000, 

    singleRun: false, 

    reportSlowerThan: 500, 

    sprocketsPath: 'vendor/assets/javascripts', 
    sprocketsBundles: [ 
     'bootstrap.js', 
     'plugins_jquery.js' 
    ], 

    plugins: [ 
     'karma-jasmine', 
     'karma-requirejs', 
     'karma-coffee-preprocessor', 
     'karma-sprockets' 
    ] 
    }); 
}; 

그리고 test-main.coffee은 :

tests = [] 
for file of window.__karma__.files 
    tests.push file if /_spec\.js$/.test(file) if window.__karma__.files.hasOwnProperty(file) 

# https://github.com/karma-runner/karma-requirejs/issues/6#issuecomment-23037725 
for file of window.__karma__.files 
    window.__karma__.files[file.replace(/^\//, "")] = window.__karma__.files[file] 

requirejs.config 

    baseUrl: 'base/app/assets/javascripts/' 

    paths: 
    jquery: '../../../vendor/assets/javascripts/jquery' 
    underscore: '../../../vendor/assets/javascripts/lodash' 
    backbone: '../../../vendor/assets/javascripts/backbone' 
    // etc.pp. 

    shim: 
    backbone: 
     deps: ['jquery', 'underscore', 'json2'] 
     exports: 'Backbone' 
    json2: 
     exports: 'JSON' 

    deps: tests 

    callback: window.__karma__.start 

어떤 도움에 감사드립니다.

감사합니다.

+0

아마도 내 자신과 같은 문제 일 수 있습니다. http://stackoverflow.com/questions/26656102/requirejs-do-not-add-js-for-modules-using-karma – user1338054

답변

0

사양에 따라 테스트 할 파일이 필요합니다. karma.conf.js 파일 섹션에 src 파일이 있어야합니다. 카르마가 파일을 제공하면 다음 당신은 당신의 spec에서 그들을 요구할 수있다.