2015-11-30 12 views
13

私のプロジェクトでは、私のKarma amd mochaフレームワークを不快感で構成しています。私はカルマスタートを実行しているときに、私は以下のエラーが発生しています。TypeError:expect(...)。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( "Hello"); –

+1

beは、テストの意味に影響を与えるオブジェクトです。そのため、関数であってもそのプロパティやメソッドにアクセスする必要があるため、呼び出すことはできません。 http://chaijs.com/api/bdd/ – Raulucco

関連する問題