2016-12-18 2 views
0

nwbを使用して反応アプリを設定していますが、私はchaienzymeのように使用してテスト環境をセットアップします。私もnwb.config.jsにカルマの設定を変更しwebpackとkarma nwbと連携するようにphantomjを設定する

import chai from 'chai'; 
import chaiEnzyme from 'chai-enzyme'; 
import chaiAsPromised from 'chai-as-promised'; 
import sinonChai from 'sinon-chai'; 

chai.use(chaiEnzyme()); 
chai.use(chaiAsPromised); 
chai.use(sinonChai); 

const context = require.context('./src', true, /\.spec\.js/); 
context.keys.forEach(context); 

:私はtests.webpack.jsファイルを作成し、これを実現するには、以下の変更を行いました

const karmaChaiPlugins = require('karma-chai-plugins'); 

module.exports = { 
    type: 'react-component', 
    npm: { 
    esModules: true, 
    umd: { 
     global: 'ReactMg', 
     externals: { 
     react: 'React', 
     }, 
    }, 
    }, 
    karma: { 
    testContext: 'tests.webpack.js', 
    plugins: [ 
     karmaChaiPlugins, 
    ], 
    frameworks: ['mocha', 'chai', 'chai-as-promised'], 
    }, 
    webpack: { 
    compat: { 
     enzyme: true, 
     sinon: true, 
    }, 
    }, 
}; 

index.spec.jsを定義した後nwb testを実行しているとき、私はエラーを取得しますsrc:未定義:

PhantomJS 2.1.1 (Linux 0.0.0) ERROR 
    TypeError: undefined is not a function (evaluating 'context.keys.forEach(context)') 
    at tests.webpack.js:73 
PhantomJS 2.1.1 (Linux 0.0.0): Executed 0 of 0 ERROR (0.375 secs/0 secs) 
Karma exit code was 1 

答えて

1

がエラーにTypeError例外を修正するにはdがkeysが関数であるので、あなたはcontext.keys().forEach(context);context.keys.forEach(context);を変更する必要がある関数

ではありません[1]

[1] - https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

+0

私はこの問題に費やした時間の量が高すぎる、知りません私はそれを逃した。ありがとう@maksimr – vamsiampolu

関連する問題