2016-07-27 4 views
1

関数ではありません、私は次のエラーを得た:例外TypeError:私はモカとテストを反応させる実行しようとすると、(0、_chai.describe)は

/Users/niklaskiefer/Github/adal-fronted/test/CasesSpec.js:49 
(0, _chai.describe)('Cases', function() { 
       ^

TypeError: (0 , _chai.describe) is not a function 
    at Object.<anonymous> (CasesSpec.js:16:1) 
    at Module._compile (module.js:541:32) 
    at loader (/Users/niklaskiefer/Github/adal-fronted/node_modules/babel-register/lib/node.js:158:5) 
    at Object.require.extensions.(anonymous function) [as .js] (/Users/niklaskiefer/Github/adal-fronted/node_modules/babel-register/lib/node.js:168:7) 
    at Module.load (module.js:458:32) 
    at tryModuleLoad (module.js:417:12) 
    at Function.Module._load (module.js:409:3) 
    at Module.require (module.js:468:17) 
    at require (internal/module.js:20:19) 
    at /Users/niklaskiefer/Github/adal-fronted/node_modules/mocha/lib/mocha.js:220:27 
    at Array.forEach (native) 
    at Mocha.loadFiles (/Users/niklaskiefer/Github/adal-fronted/node_modules/mocha/lib/mocha.js:217:14) 

テストは、テスト/ CasesSpecにあります。:私は 'NPMテスト'

NODE_PATH=./app mocha --compilers js:babel-core/register,css:test/config/css-compiler.js --recursive --require test/config/setup.js 

CSS-compiler.jsでテストを実行するには、次のコマンドを使用し

import * as React from 'react' 
import ReactDOM from 'react-dom' 
import TestUtils from 'react-addons-test-utils' 
import CaseActions from 'actions/CaseActions' 
import CaseStore from 'stores/CaseStore' 
import FilterStore from 'stores/FilterStore' 
import { expect, it, before, describe } from 'chai' 
import Immutable from 'immutable' 
import Globals from 'config/globals' 
import moment from 'moment' 

var TestCases = require('./config/TestCases.js') 

describe('Cases', function() { 
    before(function (done) { 
    this.timeout(1000) 

    // fetch all data here because 
... 
function donothing() { 
    return null 
} 

require.extensions['.css'] = donothing 
require.extensions['.less'] = donothing 
require.extensions['.scss'] = donothing 

setups.js:

// this handles setup of the fake DOM when the tests are 
// run in Node 

import jsdom from 'jsdom' 

var FAKE_DOM_HTML = ` 
<html> 
<body> 
</body> 
</html> 
` 

function setupFakeDOM() { 
    if (typeof document !== 'undefined') { 
    // if the fake DOM has already been set up, or 
    // if running in a real browser, do nothing 
    return 
    } 

    // setup the fake DOM environment. 
    // 
    // Note that we use the synchronous jsdom.jsdom() API 
    // instead of jsdom.env() because the 'document' and 'window' 
    // objects must be available when React is require()-d for 
    // the first time. 
    // 
    // If you want to do any async setup in your tests, use 
    // the before() and beforeEach() hooks. 
    global.document = jsdom.jsdom(FAKE_DOM_HTML) 
    global.window = document.defaultView 
    global.navigator = window.navigator 
} 

setupFakeDOM() 

それは数週間前、私たちは変更さ唯一の事は、我々は新しいcodestyleとしてstandardJSを使用することで正常に動作します。また、バベルコアを6.10.4から6.11.4に更新しました。私はこの解決策を試しました:Babel/Mocha: Mocha installed globally but describe() is not definedそして '--require'を削除してください。しかし、これだけではテストは実行されません。

答えて

4

itbeforeおよびdescribeは、モカによってグローバルスペースに自動的に追加されるシンボルです。したがって、何かをインポートすることなくテストで利用できます。

chaiは確かに関係ありません。 So:

import { expect } from 'chai' 
+0

ありがとうございました。 – pinussilvestrus

関連する問題