2014-04-10 13 views
7

Trong trường hợp chúng tôi thực hiện kiểm thử đơn vị trong PhantomJs bằng các cách sau.không thể thực hiện thử nghiệm đơn vị nghiệp trong trình duyệt PhantomJS

karma: { 
     options: { 
    configFile: 'karma.conf.js', 
    runnerPort: 9876, 
    browsers: ['Chrome'] 
    }, 
unitTestDev: { 
     browsers: ['PhantomJS'], 
     singleRun: true 
    } 
} 

grunt.registerTask('unitTest',['karma:unitTestDev']); 

Đây là tệp karma.conf.js.

// Karma configuration 
// Generated on Thu Apr 03 2014 13:44:39 GMT-0500 (Central Daylight Time) 

module.exports = function(config) { 
    config.set({ 

    // base path that will be used to resolve all patterns (eg. files, exclude) 
    basePath: '', 


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


    // list of files/patterns to load in the browser 
    files: [ 
     {pattern: 'dist/lib/jquery/dist/jquery.js', watched: false, served: true, included: true}, 
     {pattern: 'dist/lib/jasmine-jquery/lib/jasmine-jquery.js', watched: false, served: true, included: true}, 
     {pattern: 'dist/lib/angular/angular.js', watched: false, served: true, included: true}, 
     {pattern: 'dist/lib/angular-route/angular-route.min.js', watched: false, served: true, included: true}, 
     {pattern: 'dist/lib/angular-mocks/angular-mocks.js', watched: false, served: true, included: true}, 

     {pattern: 'dist/main.min.js', watched: false, served: true, included: true}, 

     {pattern: 'public/test/unit/**/*Spec.js', watched: false, served: true, included: true}, 

     // fixtures 
     {pattern: 'public/test/mock/**/*.json', watched: true, served: true, included: false} 
    ], 


    // 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: { 

    }, 


    // test results reporter to use 
    // possible values: 'dots', 'progress' 
    // available reporters: https://npmjs.org/browse/keyword/karma-reporter 
    reporters: ['progress', 'html', 'junit', 'story'], 

    htmlReporter: { 
     outputDir: 'build/unit-test/html-report', 
     templatePath: 'node_modules/karma-html-reporter/jasmine_template.html' 
    }, 

    junitReporter: { 
     outputFile: 'build/unit-test/junit-report/test-results.xml', 
     suite: '' 
    }, 

    // 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: false, 


    // start these browsers 
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher 
    browsers: ['Chrome'], 

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

Khi thực hiện "nghiệp chướng: unitTestDev" lệnh, sau đó nhận được lỗi sau đây.

Running "karma:unitTestDev" (karma) task 
INFO [karma]: Karma v0.11.14 server started at http://localhost:9876/ 
INFO [launcher]: Starting browser PhantomJS 
ERROR [launcher]: Cannot start PhantomJS 
    Error: spawn OK 
INFO [launcher]: Trying to start PhantomJS again (1/2). 
ERROR [launcher]: Cannot start PhantomJS 
    Error: spawn OK 
INFO [launcher]: Trying to start PhantomJS again (2/2). 
ERROR [launcher]: Cannot start PhantomJS 
    Error: spawn OK 
ERROR [launcher]: PhantomJS failed 2 times (cannot start). Giving up. 
Warning: Task "karma:unitTestDev" failed. Use --force to continue. 

Aborted due to warnings. 

Chúng tôi đang gặp sự cố ở trên trong hệ điều hành Windows và Linux. Trong Mac, nghiệp thành công thực thi các thử nghiệm trên PhantomJS.

Trong cửa sổ, Nếu chúng tôi thực hiện thử nghiệm ở trên trong trình duyệt Chrome, thay vì PhantomJS, thì nghiệp vụ thực hiện thành công tất cả các kiểm tra đơn vị.

Dưới đây là nghiệp chướng liên quan phụ thuộc vào Package.json

"phantomjs": "~1.9.7-3", 
"karma": "~0.12.3", 
"karma-chrome-launcher": "~0.1.3", 
"karma-jasmine": "~0.1.5", 
"karma-html-reporter": "~0.2.3", 
"karma-junit-reporter": "~0.2.1", 
"grunt-karma": "~0.8.2", 
"karma-phantomjs-launcher": "~0.1.3" 

Hãy cho tôi biết nếu có bất kỳ vấn đề được biết đến trong nghiệp hoặc grunt với PhantomJS.

Trả lời

6

Có vấn đề với "Karma-phantomjs-launcher" v0.1.3. Thay đổi nó thành v0.1.4 và sau đó nó hoạt động tốt.

+0

Tôi có cùng một vấn đề với 0.1.4, bất kỳ manh mối nào về vấn đề này? – kitensei

+1

install libfontconfig: 'sudo apt-get install libfontconfig' –

+0

Tôi đang gặp vấn đề tương tự –

Các vấn đề liên quan