2015-11-30 8 views
13

मैं अपने प्रोजेक्ट में गड़बड़ी के साथ अपने कर्म एमडी मोचा फ्रेमवर्क को कॉन्फ़िगर कर रहा हूं। जब मैं कर्म शुरू कर रहा हूं तो मुझे नीचे उल्लिखित त्रुटि मिल रही है।टाइप एरर: उम्मीद करें (...)। To.be एक फंक्शन नहीं है

मैं अपने कंसोल में इस त्रुटि हो रही है आदेश चलाते समय: Karma start

TypeError: expect(...).to.be is not a function 

मेरे Karma.confjs

// Karma configuration 
// Generated on Fri Nov 27 2015 11:48:47 GMT+0530 (India Standard 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: ['mocha', 'chai'], 


    // list of files/patterns to load in the browser 
    files: [ 
     'bower_components/angular/angular.js', 
     'bower_components/angular-mocks/angular-mocks.js', 
     'app/*.js', 
     // 'test/specs/*.js', 
     'test/specs/array.js', 
     // 'test/specs/myCtlr-spec.js', 
     //'test/*.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: { 
    }, 


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

    preprocessors: { 
     'src/app/**/*.js': ['coverage'] 
    }, 
    coverageReporter: { 
     type: 'lcov', 
     dir: 'coverage/' 
    }, 

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


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

    // Concurrency level 
    // how many browser should be started simultanous 
    concurrency: Infinity 
    }) 
} 

मेरे array.js परीक्षण

// var expect = require('chai').expect; 

describe("Mocha: The 'toBe' matcher compares with ===", function() { 
    it("and has a positive case", function() { 
    expect(true).to.be(true); 
    }); 

    it("and can have a negative case", function() { 
    expect(false).not.to.be(true); 
    }); 
}); 

enter image description here

कृपया सुझाव दें कि मैं क्या खो रहा हूं।

उत्तर

21

आपको expect(true).to.be.equal(true) लिखना होगा एक श्रृंखला (वस्तु) एक समारोह नहीं है। या फिर आप लिख सकते हैं:

expect(true).to.be.true; 
expect(false).to.be.false; 
+0

अरे यह काम करता है ... लेकिन क्या आप मुझे बता सकते हैं दोनों में अंतर क्या .. –

+2

यह उम्मीद (myController.message) .to.be ("हैलो"); काम नहीं कर रहा था लेकिन यह काम कर रहा है (myController.message) .to.be.equal ("हैलो"); –

+1

एक ऐसा ऑब्जेक्ट है जो परीक्षणों के अर्थ को प्रभावित करता है। इसके लिए आप इसे कॉल नहीं कर सकते क्योंकि यह एक फ़ंक्शन था लेकिन आपको इसकी गुणों या विधियों तक पहुंचने की आवश्यकता है। http://chaijs.com/api/bdd/ – Raulucco

संबंधित मुद्दे