2017-07-13 2 views
0

私はカルマとウェブパックで約束したようにチャイを使用しようとしていました。 enter image description here 私は約束したように約束したように、約束を守って、sinon-chai、karma-sinon-chai、karma-webpackをインストールしましたので、まだ動かないと良いはずです ここは私ですkarma.configファイルUncaught ReferenceError:requireは定義されていませんkarmaとwebpack

var webpackConfig = require('../../build/webpack.test.conf') 

module.exports = function (config) { 
    config.set({ 
    browsers: ['ChromeHeadless'], 
    frameworks: ['mocha', 'chai-things', 'sinon-chai', 'chai-as-promised'], 
    reporters: ['spec', 'coverage'], 
    files: [ 
     '../../node_modules/babel-polyfill/dist/polyfill.js', 
     './index.js'], 
    preprocessors: { 
     './index.js': ['webpack', 'sourcemap'] 
    }, 
    webpack: webpackConfig, 
    coverageReporter: { 
     dir: './coverage', 
     reporters: [ 
     { type: 'lcov', subdir: '.' }, 
     { type: 'text-summary' } 
     ] 
    }, 
    client: { 
     captureConsole: true 
    } 
    }) 
} 
+0

として使用することができます[karma-browserify](https://github.com/nikku/karma-browserify)を使用することでした。これは私の設定でうまくいきます。 – T4rk1n

答えて

0

karma-chai-as-promisedscript要素として窓にそれをploppingして、テストで約束チャイ-として、含まれています。 (hereを参照してください)しかし、これはChai-as-promised 6.0以来実行可能でなくなりました。このリリースでは、CommonJS requireコールを解決するマシンの可用性に応じてコードが配布されます。それはSystemJSかWebpackかwhat-have-youですが、それらの呼び出しを解決する何かが必要です。したがって、Webページに分散コードを置くことはできません。

可能性:

  1. 強制karma-chai-as-promisedチャイ-AS-約束したの古いバージョンを使用します。 chai-as-promisedので、あなたのプロジェクトが古いより6

  2. ドロップkarma-chai-as-promisedバージョンを設定し、WebPACKのは、あなたのテストバンドルに含める必要があり持っている可能性がありkarma-chai-as-promisedのピア依存性です。

0

私はES6のインポート/エクスポートと私が見つけた解決策と同様の問題を抱えていた私は

ヘルパーファイルとして
import chai from 'chai' 
chai.should() 
import chaiAsPromised from 'chai-as-promised' 
chai.use(chaiAsPromised) 

これを追加した、その後、あなたは

import './chaiAsPromised.helper' 
関連する問題