2017-09-27 6 views
0

Ich erstellte eine React App mit create-react-app Version 1.4.0 und öffnete das resultierende Projekt in IntelliJ. Jetzt versuche ich den generierten Test auch in IntelliJ auszuführen. Ich bekomme die folgende Ausgabe, wenn ich das tue:Führen Sie Jest-Test in IntelliJ IDEA

/usr/bin/node /home/l/src/hello-react/node_modules/jest/bin/jest --config {\"rootDir\":\"/home/l/src/hello-react\",\"transformIgnorePatterns\":[\"/node_modules/\",\"^/home/l/bin/idea-IU-172.3544.35/plugins/JavaScriptLanguage/helpers\"],\"unmockedModulePathPatterns\":[\"^/home/l/bin/idea-IU-172.3544.35/plugins/JavaScriptLanguage/helpers\"]} --colors --setupTestFrameworkScriptFile /home/l/bin/idea-IU-172.3544.35/plugins/JavaScriptLanguage/helpers/jest-intellij/lib/jest-intellij-jasmine.js --testPathPattern ^/home/l/src/hello\-react/src/App\.test\.js$ --testNamePattern "^(test)?renders without crashing$" 
FAIL src/App.test.js 
    ● Test suite failed to run 

    /home/l/src/hello-react/src/App.test.js: Unexpected token (7:18) 
     5 | it('renders without crashing',() => { 
     6 | const div = document.createElement('div'); 
     > 7 | ReactDOM.render(<App />, div); 
      |     ^
     8 | }); 
     9 | 

Test Suites: 1 failed, 1 total 
Tests:  0 total 
Snapshots: 0 total 
Time:  2.73s 
Ran all test suites matching /^/home/l/src/hello\-react/src/App\.test\.js$/ with tests matching "^(test)?renders without crashing$". 

Process finished with exit code 1 
Empty test suite. 

Ich bin nur den generierten Code ausgeführt. Ich habe es nicht geändert oder irgendeinen eigenen Code geschrieben. Was muss ich tun, um diesen Test in IntelliJ IDEA ausführen zu können?

Als Referenz sind hier die wichtigen Dateien:

App.test.js

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import App from './App'; 

it('renders without crashing',() => { 
    const div = document.createElement('div'); 
    ReactDOM.render(<App />, div); 
}); 

App.js

import React, { Component } from 'react'; 
import logo from './logo.svg'; 
import './App.css'; 

class App extends Component { 
    render() { 
    return (
     <div className="App"> 
     <div className="App-header"> 
      <img src={logo} className="App-logo" alt="logo" /> 
      <h2>Welcome to React</h2> 
     </div> 
     <p className="App-intro"> 
      To get started, edit <code>src/App.js</code> and save to reload. 
     </p> 
     </div> 
    ); 
    } 
} 

export default App; 

package.json

{ 
    "name": "hello-react", 
    "version": "0.1.0", 
    "private": true, 
    "dependencies": { 
    "react": "^16.0.0", 
    "react-dom": "^16.0.0", 
    "react-scripts": "1.0.13" 
    }, 
    "scripts": { 
    "start": "react-scripts start", 
    "build": "react-scripts build", 
    "test": "react-scripts test --env=jsdom", 
    "eject": "react-scripts eject" 
    } 
} 

Antwort

1

In Jest Run-Konfiguration wählen:

jest-package: react-scripts 
jest options: --env=jsdom 
+0

Vielen Dank für die Antwort. Ich arbeite heute an etwas anderem. Hoffentlich werde ich nächste Woche darauf zurückkommen. Ich werde Upvotes verteilen/ggf. akzeptieren, also bitte geduldig sein ;-) –

+0

Wenn ich 'react-scripts' als Jest-Paket auswähle, bekomme ich den Fehler' ReferenceError: document is not defined'. –

+0

Diese beiden Optionen funktionierten! –