2017-08-30 4 views
0

Ich stoße auf ein Problem mit einer test_helper-Datei, die perfekt funktionieren. Es ist ein Projekt, auf das ich nach einer Weile zurück komme. Der Fehler und die Datei sind unten zusammen mit der package.json, da ich vermute, dass es möglicherweise der Compiler verursacht das Problem.Redux Testen unerwarteten Token-Fehler

Der Fehler

SyntaxError: /Users/mikewalters/Projects/video- 
frontend/test/test_helper.js: Unexpected token (20:4) 
18 | function renderComponent(ComponentClass, props = {}, state = {}) { 
19 | const componentInstance = TestUtils.renderIntoDocument(
> 20 |  <Provider store={createStore(reducers, state)}> 
    | ^
21 |  <ComponentClass {...props} /> 
22 |  </Provider> 
23 | ); 

Die test_helperjs

import _$ from 'jquery'; 
import React from 'react'; 
import ReactDOM from 'react-dom'; 
import TestUtils from 'react-addons-test-utils'; 
import jsdom from 'jsdom'; 
import chai, { expect } from 'chai'; 
import chaiJquery from 'chai-jquery'; 
import { Provider } from 'react-redux'; 
import { createStore } from 'redux'; 
import reducers from '../src/reducers'; 

global.document = jsdom.jsdom('<!doctype html><html><body></body></html>'); 
global.window = global.document.defaultView; 
const $ = _$(window); 

chaiJquery(chai, chai.util, $); 

function renderComponent(ComponentClass, props = {}, state = {}) { 
    const componentInstance = TestUtils.renderIntoDocument(
    <Provider store={createStore(reducers, state)}> 
     <ComponentClass {...props} /> 
    </Provider> 
); 

    return $(ReactDOM.findDOMNode(componentInstance)); 
} 

$.fn.simulate = function(eventName, value) { 
    if (value) { 
    this.val(value); 
    } 
    TestUtils.Simulate[eventName](this[0]); 
}; 

export {renderComponent, expect}; 
import _$ from 'jquery'; 
import React from 'react'; 
import ReactDOM from 'react-dom'; 
import TestUtils from 'react-addons-test-utils'; 
import jsdom from 'jsdom'; 
import chai, { expect } from 'chai'; 
import chaiJquery from 'chai-jquery'; 
import { Provider } from 'react-redux'; 
import { createStore } from 'redux'; 
import reducers from '../src/reducers'; 

global.document = jsdom.jsdom('<!doctype html><html><body></body></html>'); 
global.window = global.document.defaultView; 
const $ = _$(window); 

chaiJquery(chai, chai.util, $); 

function renderComponent(ComponentClass, props = {}, state = {}) { 
    const componentInstance = TestUtils.renderIntoDocument(
    <Provider store={createStore(reducers, state)}> 
     <ComponentClass {...props} /> 
    </Provider> 
); 

    return $(ReactDOM.findDOMNode(componentInstance)); 
} 

$.fn.simulate = function(eventName, value) { 
    if (value) { 
    this.val(value); 
    } 
    TestUtils.Simulate[eventName](this[0]); 
}; 

export {renderComponent, expect}; 

Die package.json

"scripts": { 
    "start": "node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js", 
    "test": "mocha -r mock-local-storage --compilers js:babel-core/register --require ./test/test_helper.js --recursive ./test", 
    "test:watch": "npm run test -- --watch", 
    "coverage": "babel-node ./node_modules/.bin/isparta cover --include 'src/**/*.js*' _mocha" 
    }, 

Diese Tests vor und die Tatsache, gearbeitet haben, dass es ist nicht einmal auf die Test leiht bekommen Ich glaube, es ist etwas mit dem Compiler oder Paket, das sich geändert hat. Aber ich konnte online nichts über das Thema finden.

Antwort

0

Mir fehlte eine .babelrc Datei. Endete das Hinzufügen dieser und es begann zu arbeiten

{ 
"presets": [ "react","es2015","es2016","stage-0" ] 
} 
Verwandte Themen